web-dev-qa-db-fra.com

Est-il possible d'ajouter une page d'administration à l'aide de add_submenu_page () et de passer une variable var dans la chaîne de requête?

Je fais un plugin et j'ai un tas de différents types de données pour lesquels je crée des pages d'édition. Je préférerais ne pas avoir à créer une fonction distincte pour les ajouter aux menus admin, car ils utilisent tous la même fonction pour afficher leur page d'édition. J'ai essayé:

`add_submenu_page('upload_manage', "Programs", "Programs", 'manage_options', 'manage-data&type=program', "manage_data");`

(notez le &type=program - c'est ce que je veux travailler). Il ajoute le sous-menu admin le lien correct que j'essayais, mais lorsque je clique sur l'élément de menu, je suis renvoyé au tableau de bord avec l'URL &C=1. Y a-t-il un moyen de faire ça? Ou vais-je devoir créer 7 fonctions différentes qui appellent toutes la même fonction pour afficher la page d'édition .. c.-à-d. manage_programsmanage_schedulemanage_otherstuff etc ...?

4
jessica

Votre slug de menu (5ème paramètre) ne peut pas être identique sur plusieurs pages, et il ne peut évidemment pas contenir de &, mais vous pouvez avoir toutes les pages souhaitées appeler la même fonction de rappel (le dernier paramètre).

add_submenu_page('upload_manage', "Programs", "Programs", 'manage_options', 'manage-programs', "manage_data");
add_submenu_page('upload_manage', "Schedule", "Schedule", 'manage_options', 'manage-schedule', "manage_data");

Ensuite, dans la fonction manage_data, vérifiez la valeur de $ _GET ['page'] pour le slug et agissez en conséquence.

5
Otto