J'essaie de créer un plugin WordPress qui permet au client d'utiliser de l'aide et d'autres ressources dans une interface conviviale. Je souhaiterais avoir des conseils sur la création d’un plug-in WordPress avec un menu principal dans le tableau de bord et des sous-menus pouvant contenir du contenu HTML. Comme je suis un nouveau dans le développement WordPress, j’ai eu du mal à comprendre le WP Codex.
C'est le code du plugin:
/** add menu. */
add_action( 'admin_menu', 'my_plugin_menu', 'my_magic_function' );
add_submenu_page( 'my_plugin_menu', 'Page title', 'Sub-menu title', 'manage_options', 'my-submenu-handle', 'my_magic_function');
function my_plugin_menu() {
add_options_page( 'My Plugin Options', 'My Plugin', 'manage_options', 'my-unique-identifier', 'my_plugin_options' );
}
function my_plugin_menu() {
add_options_page( 'Submenu', 'My Plugin', 'manage_options', 'my-submenu-handle', 'my_plugin_options' );
}
/** html. */
function my_plugin_options() {
if ( !current_user_can( 'manage_options' ) ) {
wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
}
echo '<div class="wrap">';
echo '<p>Main page</p>';
echo '</div>';
}
function my_plugin_options() {
if ( !current_user_can( 'manage_options' ) ) {
wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
}
echo '<div class="wrap">';
echo '<p>submenu page</p>';
echo '</div>';
}
Voici un exemple simple pour commencer avec le bon code. Cela crée un élément de menu principal à l'aide de add_menu_page
, puis associe un sous-menu à l'aide de add_submenu_page
. Les deux appellent une fonction différente pour la sortie.
Notez que la fonction add_submenu_page
est liée au menu parent à l'aide de customteam
qui est le $menu_slug
de add_menu_page
.
add_action( 'admin_menu', 'register_my_custom_menu_page' );
add_action( 'admin_menu', 'register_my_custom_submenu_page' );
function register_my_custom_menu_page(){
add_menu_page( 'Team Kit', 'Team Kit', 'manage_options', 'customteam', 'my_custom_menu_page');
}
function register_my_custom_submenu_page() {
add_submenu_page( 'customteam', 'Team info', 'Team info', 'manage_options', 'my-custom-submenu-page', 'my_custom_submenu_page' );
add_submenu_page( 'customteam', 'Crew Stats', 'Crew Stats', 'manage_options', 'my-custom-submenu-page_2', 'my_custom_submenu_page_2' );
//add_submenu_page_3 ... and so on
}
function my_custom_menu_page() {
echo '<p>Hello, I am Team Kit</p>';
}
function my_custom_submenu_page() {
echo '<p>Hello, I am Team Info</p>';
}
function my_custom_submenu_page_2() {
echo '<p>Hello, I am Crew Stats</p>';
}