Question

Je veux créer une sous configuration de certaines page sur le panneau d'administration, par exemple:

J'ai Menu de configuration de cette façon:

add_menu_page( 'E+', 'CRE+', 8, 'cr_e_plus_user_config', 'cr_e_plus_user_config');
add_submenu_page( 'cr_e_plus_user_config', 'E+', 'Configurations', 8, 'cr_e_plus_user_config', 'cr_e_plus_user_config');

De page Configurations, je dois charger une autre page lorsque je clique sur certains liens. Maintenant, je ne veux pas que cette nouvelle page à la liste dans le menu, car il aura besoin de certains paramètres avant que je puisse le montrer.

Était-ce utile?

La solution

pages d'administration sont essentiellement rien dit d'autre, alors un crochet à une fonction, il est donc techniquement pas un problème d'ajouter vos propres pages sans utiliser le menu.

Je ne savais pas d'une fonction API qui vous permet d'enregistrer propres pages avec facilité, mais il y a une fonction d'assistance dans Wordpress, vous pouvez utiliser: get_plugin_page_hookname() (fonction non documentée). À côté de cela, les besoins de crochet à enregistrer dans un registre global de tous les crochets de page ($GLOBALS['_registered_pages']) afin qu'il soit classé valide lorsque la page est demandée.

J'ai enveloppé que quelques exemples de code, enregistrez-le dans votre dossier /wp-content/mu-plugins: admin_page_demo.php (Wordpress MU-Plugin Exemple)

Dans là, vous pouvez trouver une register_admin_page() fonction qui peut enregistrer un rappel dont vous avez besoin par le crochet de admin_menu. C'est important, comparez Ajout de menus d'administration (Wordpress Codex) .

La fonction retourne l'URL de la nouvelle page d'administration. Vous avez écrit que vous pourriez avoir besoin d'ajouter d'autres paramètres, donc je pensais que cela pourrait être utile.

Pour la page de démonstration que je Hardcoded dans cet exemple, l'URL est:. /wp-admin/options-general.php?page=adminpagedemo_demo_page

Gardez à l'esprit que vous devez vérifier la sécurité de cette page sur votre propre parce que Wordpress ne fonctionne pas. Quelque chose comme

current_user_can( ... );
wp_die( __('You do not have sufficient permissions to access this page.') );

peut-être un indice supplémentaire utile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top