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?

4

Je crée un plugin et je crée un certain nombre de types de données pour lesquels je crée des pages de modification. Je préférerais ne pas avoir à créer une fonction distincte pour les ajouter aux menus d'administration, 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 de modification? C.-à-d. manage_programs manage_schedule manage_otherstuff etc ...?

    
posée jessica 03.07.2011 - 08:04

1 réponse

5

Votre slug de menu (5ème paramètre) ne peut pas être identique sur plusieurs pages, et il ne peut évidemment pas avoir un & 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.

    
réponse donnée Otto 03.07.2011 - 10:19

Lire d'autres questions sur les étiquettes