Maison  >  Article  >  Tutoriel CMS  >  Comment ajouter une fonctionnalité de menu à plusieurs niveaux au plugin WordPress

Comment ajouter une fonctionnalité de menu à plusieurs niveaux au plugin WordPress

王林
王林original
2023-09-05 13:06:15699parcourir

Comment ajouter une fonctionnalité de menu à plusieurs niveaux au plugin WordPress

Comment ajouter une fonctionnalité de menu à plusieurs niveaux aux plugins WordPress

Dans WordPress, les plugins sont un élément important de l'extension des fonctionnalités du site Web. Par défaut, WordPress fournit certaines fonctionnalités de menu telles que le menu de navigation supérieur et le menu de la barre latérale. Cependant, nous devons parfois ajouter des fonctions de menu personnalisées à plusieurs niveaux à nos plug-ins pour faciliter l'accès des utilisateurs aux diverses fonctions du plug-in.

Cet article vous apprendra comment ajouter une fonctionnalité de menu à plusieurs niveaux aux plugins WordPress et fournira quelques exemples de code. J'espère que cela vous sera utile pour votre travail de développement de plug-ins.

Étape 1 : Créer la page du menu du plugin

Tout d'abord, nous devons créer une page qui servira de menu du plugin. Dans WordPress, cela peut être accompli en appelant la fonction add_menu_page(). add_menu_page() 函数来实现。

function my_plugin_menu_page() {
    add_menu_page(
        'My Plugin',     // 页面标题
        'My Plugin',     // 菜单标题
        'manage_options', // 用户权限
        'my-plugin',     // 菜单 slug
        'my_plugin_menu_callback', // 页面回调函数
        'dashicons-admin-plugins', // 菜单图标
        99 // 菜单位置
    );
}
add_action( 'admin_menu', 'my_plugin_menu_page' );

在上面的代码中,我们使用 add_menu_page() 函数创建了一个名为 "My Plugin" 的菜单页面。参数中的 my_plugin_menu_callback 是我们自定义的页面回调函数,用于渲染菜单页面的内容。

步骤二:添加子菜单项

如果我们想要添加多级菜单功能,可以使用 add_submenu_page() 函数来实现。下面是一个示例代码:

function my_plugin_submenu_page() {
    add_submenu_page(
        'my-plugin', // 父菜单 slug
        'Submenu Page', // 子菜单标题
        'Submenu Page', // 页面标题
        'manage_options', // 用户权限
        'my-plugin-submenu', // 子菜单 slug
        'my_plugin_submenu_callback' // 页面回调函数
    );
}
add_action( 'admin_menu', 'my_plugin_submenu_page' );

在上面的示例代码中,我们使用 add_submenu_page() 函数创建了一个名为 "Submenu Page" 的子菜单项。参数中的 my_plugin_submenu_callback 是我们自定义的子菜单页面回调函数。

步骤三:自定义菜单页面的内容

现在,我们需要为菜单页面添加自定义的内容。下面是一个示例代码:

function my_plugin_menu_callback() {
    echo '<h1>My Plugin Menu</h1>';
    echo '<p>Welcome to My Plugin Menu. You can add your content here.</p>';
}

function my_plugin_submenu_callback() {
    echo '<h1>Submenu Page</h1>';
    echo '<p>Welcome to Submenu Page. You can add your content here.</p>';
}

在上面的示例代码中,我们在页面回调函数中添加了一些简单的 HTML 内容。你可以根据自己的需求来自定义菜单页面的内容。

步骤四:添加更多子菜单项

如果我们需要添加多个子菜单项,可以重复调用 add_submenu_page() 函数。下面是一个示例代码:

function my_plugin_submenu_page() {
    add_submenu_page(
        'my-plugin', // 父菜单 slug
        'Submenu Page 1', // 子菜单标题
        'Submenu Page 1', // 页面标题
        'manage_options', // 用户权限
        'my-plugin-submenu1', // 子菜单 slug
        'my_plugin_submenu_callback1' // 页面回调函数
    );

    add_submenu_page(
        'my-plugin', // 父菜单 slug
        'Submenu Page 2', // 子菜单标题
        'Submenu Page 2', // 页面标题
        'manage_options', // 用户权限
        'my-plugin-submenu2', // 子菜单 slug
        'my_plugin_submenu_callback2' // 页面回调函数
    );
}

// 页面回调函数
function my_plugin_submenu_callback1() {
    echo '<h1>Submenu Page 1</h1>';
    echo '<p>Welcome to Submenu Page 1. You can add your content here.</p>';
}

function my_plugin_submenu_callback2() {
    echo '<h1>Submenu Page 2</h1>';
    echo '<p>Welcome to Submenu Page 2. You can add your content here.</p>';
}

在上面的代码中,我们使用 add_submenu_page() 函数分别创建了两个子菜单项,并分别指定了不同的子菜单 slug 和页面回调函数。

总结

通过上述步骤,我们可以为 WordPress 插件添加多级菜单功能。首先,通过 add_menu_page() 函数创建插件菜单页面;然后,通过 add_submenu_page()rrreee

Dans le code ci-dessus, nous utilisons la fonction add_menu_page() pour créer une page de menu nommée "Mon plugin". my_plugin_menu_callback dans les paramètres se trouve notre fonction de rappel de page personnalisée, qui est utilisée pour restituer le contenu de la page de menu.

Étape 2 : Ajouter des éléments de sous-menu🎜🎜Si nous souhaitons ajouter une fonctionnalité de menu à plusieurs niveaux, nous pouvons utiliser la fonction add_submenu_page() pour y parvenir. Voici un exemple de code : 🎜rrreee🎜Dans l'exemple de code ci-dessus, nous utilisons la fonction add_submenu_page() pour créer un élément de sous-menu nommé "Submenu Page". my_plugin_submenu_callback dans les paramètres se trouve notre fonction de rappel de page de sous-menu personnalisé. 🎜🎜Étape 3 : Personnaliser le contenu de la page de menu🎜🎜Maintenant, nous devons ajouter du contenu personnalisé à la page de menu. Voici un exemple de code : 🎜rrreee🎜Dans l'exemple de code ci-dessus, nous avons ajouté du contenu HTML simple dans la fonction de rappel de page. Vous pouvez personnaliser le contenu de la page de menu selon vos besoins. 🎜🎜Étape 4 : Ajouter plus d'éléments de sous-menu🎜🎜Si nous devons ajouter plusieurs éléments de sous-menu, nous pouvons appeler la fonction add_submenu_page() à plusieurs reprises. Voici un exemple de code : 🎜rrreee🎜Dans le code ci-dessus, nous utilisons la fonction add_submenu_page() pour créer respectivement deux éléments de sous-menu et spécifier différents slugs de sous-menu et fonctions de rappel de page. 🎜🎜Résumé🎜🎜Grâce aux étapes ci-dessus, nous pouvons ajouter une fonctionnalité de menu à plusieurs niveaux au plugin WordPress. Tout d'abord, créez une page de menu de plug-in via la fonction add_menu_page() ; puis, ajoutez des éléments de sous-menu via la fonction add_submenu_page() ; page de menu via une fonction de rappel de page personnalisée Ajouter du contenu. 🎜🎜J'espère que cet article pourra vous aider à implémenter la fonctionnalité de menu à plusieurs niveaux dans le développement de plug-ins WordPress. N'oubliez pas de suivre les meilleures pratiques et les principes de sécurité lors du développement de plugins. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn