Maison > Tutoriel CMS > WordPresse > le corps du texte

Comment ajouter une fonctionnalité de gestion des menus de navigation au plugin WordPress

WBOY
Libérer: 2023-09-05 11:22:42
original
1388 Les gens l'ont consulté

Comment ajouter une fonctionnalité de gestion des menus de navigation au plugin WordPress

Comment ajouter une fonctionnalité de gestion des menus de navigation au plug-in WordPress

WordPress est un système de gestion de contenu populaire qui fournit un puissant système de plug-in qui permet aux utilisateurs d'étendre les fonctionnalités en fonction de leurs besoins. Lors du développement de votre propre plugin WordPress, vous devez parfois ajouter une fonctionnalité de gestion des menus de navigation au plugin. Dans cet article, nous apprendrons comment ajouter une fonctionnalité de gestion des menus de navigation à un plugin WordPress et fournirons des exemples de code.

Dans WordPress, le menu de navigation permet d'afficher la structure de navigation du site Web, généralement affichée en haut ou en bas du site Web. Afin d'ajouter une fonctionnalité de gestion des menus de navigation au plugin, nous devons effectuer les étapes suivantes :

  1. Ajouter une page de menu
    Tout d'abord, nous devons ajouter une page de menu au plugin. Cette page de menu servira à gérer le menu de navigation. Ajoutez le code suivant au fichier principal de votre plugin :
function myplugin_menu_page(){
    add_menu_page(
        'My Plugin Menu', // 页面标题
        'My Plugin', // 菜单标题
        'manage_options', // 权限要求
        'my-plugin', // 菜单slug
        'myplugin_menu_callback', // 回调函数
        'dashicons-admin-plugins', // 菜单图标
        10 // 菜单位置
    );
}
add_action('admin_menu', 'myplugin_menu_page');
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction add_menu_page() pour ajouter une page de menu. La description du paramètre est la suivante : add_menu_page()函数来添加一个菜单页面。参数说明如下:

  • 页面标题:菜单页面的标题,将会显示在菜单页面的顶部。
  • 菜单标题:菜单页面在WordPress菜单中的标题。
  • 权限要求:指定允许访问菜单页面的用户权限。
  • 菜单slug:菜单页面的唯一标识。
  • 回调函数:当用户访问菜单页面时,将会调用这个函数。
  • 菜单图标:指定菜单图标的样式类。
  • 菜单位置:决定菜单在WordPress菜单中的显示位置。
  1. 编写回调函数
    接下来,我们需要编写一个回调函数,用于显示和处理菜单页面的内容。在你的插件主文件中添加以下代码:
function myplugin_menu_callback(){
    if(!current_user_can('manage_options')){
        wp_die(__('You do not have sufficient permissions to access this page.'));
    }
    
    // 在这里编写菜单页面的内容和逻辑
    echo '<h1>My Plugin Menu</h1>';
    // 添加表单和导航菜单设置
}
Copier après la connexion

上述代码中,我们首先检查用户是否具有足够的权限访问菜单页面。如果用户没有权限,将会显示一个错误消息。然后,我们可以在这个函数中编写菜单页面的内容,例如显示一个标题、一个表单和导航菜单设置。

  1. 添加表单和导航菜单设置
    在菜单页面的回调函数中,我们可以添加一个表单来接收用户的输入,并将其保存为导航菜单设置。在你的插件主文件中添加以下代码:
function myplugin_menu_callback(){
    if(!current_user_can('manage_options')){
        wp_die(__('You do not have sufficient permissions to access this page.'));
    }
    
    if(isset($_POST['submit'])){
        // 处理表单提交
        $menu_settings = $_POST['menu_settings'];
        update_option('myplugin_menu_settings', $menu_settings);
        echo '<div class="notice notice-success"><p>Menu settings saved successfully.</p></div>';
    }
    
    // 获取导航菜单设置
    $menu_settings = get_option('myplugin_menu_settings', '');
    
    echo '<h1>My Plugin Menu</h1>';
    echo '<form action="" method="post">';
    echo '<label for="menu_settings">Menu Settings</label>';
    echo '<input type="text" name="menu_settings" id="menu_settings" value="'.$menu_settings.'">';
    echo '<input type="submit" name="submit" value="Save">';
    echo '</form>';
}
Copier après la connexion

上述代码中,我们首先检查是否有表单提交,如果有则处理表单数据并将其保存为导航菜单设置,并显示一个成功的消息。然后,我们使用get_option()函数来获取导航菜单设置,并将其显示在表单中。用户可以在表单中进行更改,并点击保存按钮来保存新的菜单设置。

  1. 获取导航菜单设置并应用到网站
    最后一步是获取导航菜单设置,并将其应用到网站的导航菜单中。在你的主题文件中添加以下代码:
function myplugin_nav_menu_args($args){
    // 获取导航菜单设置
    $menu_settings = get_option('myplugin_menu_settings');
    
    // 应用导航菜单设置
    $args['menu'] = $menu_settings;
    
    return $args;
}
add_filter('wp_nav_menu_args', 'myplugin_nav_menu_args');
Copier après la connexion

上述代码中,我们使用get_option()函数获取导航菜单设置,并将其应用到wp_nav_menu_args过滤器中的$args['menu']参数。这样,当网站的导航菜单被创建时,将会使用插件的导航菜单设置。

通过以上步骤,我们成功为WordPress插件添加了导航菜单管理功能。用户现在可以使用插件的菜单页面来设置导航菜单,并将其应用到网站上。

总结:
本文介绍了Comment ajouter une fonctionnalité de gestion des menus de navigation au plugin WordPress,并提供了代码示例。通过使用add_menu_page()

    Titre de la page : Le titre de la page de menu sera affiché en haut de la page de menu. 🎜🎜Titre du menu : Le titre de la page de menu dans le menu WordPress. 🎜🎜Exigences d'autorisation : spécifiez les autorisations utilisateur autorisées à accéder à la page de menu. 🎜🎜Menu slug : L'identifiant unique de la page de menu. 🎜🎜Fonction de rappel : Cette fonction sera appelée lorsque l'utilisateur accédera à la page de menu. 🎜🎜Icône de menu : Spécifiez la classe de style de l'icône de menu. 🎜🎜Position du menu : Détermine la position d'affichage du menu dans le menu WordPress. 🎜
    🎜Écrire une fonction de rappel🎜Ensuite, nous devons écrire une fonction de rappel pour afficher et traiter le contenu de la page de menu. Ajoutez le code suivant au fichier principal de votre plugin : 🎜🎜rrreee🎜Dans le code ci-dessus, nous vérifions d'abord si l'utilisateur dispose des autorisations suffisantes pour accéder à la page de menu. Si l'utilisateur n'a pas l'autorisation, un message d'erreur s'affichera. On peut alors écrire le contenu de la page de menu dans cette fonction, comme l'affichage d'un titre, d'un formulaire et des paramètres du menu de navigation. 🎜
      🎜Ajouter des paramètres de formulaire et de menu de navigation🎜Dans la fonction de rappel de la page de menu, nous pouvons ajouter un formulaire pour recevoir la saisie de l'utilisateur et l'enregistrer en tant que paramètres du menu de navigation. Ajoutez le code suivant au fichier principal de votre plugin : 🎜🎜rrreee🎜Dans le code ci-dessus, nous vérifions d'abord s'il y a une soumission de formulaire, si c'est le cas, traitons les données du formulaire et les enregistrons dans les paramètres du menu de navigation, et affichons un message de réussite. . Nous utilisons ensuite la fonction get_option() pour récupérer les paramètres du menu de navigation et les afficher dans le formulaire. Les utilisateurs peuvent apporter des modifications au formulaire et cliquer sur le bouton Enregistrer pour enregistrer les nouveaux paramètres de menu. 🎜
        🎜Obtenez les paramètres du menu de navigation et appliquez-les au site Web🎜La dernière étape consiste à obtenir les paramètres du menu de navigation et à les appliquer au menu de navigation du site Web. Ajoutez le code suivant à votre fichier de thème : 🎜🎜rrreee🎜Dans le code ci-dessus, nous utilisons la fonction get_option() pour obtenir les paramètres du menu de navigation et l'appliquer au wp_nav_menu_args filtrer les paramètres $args['menu'] dans le processeur. De cette façon, lors de la création du menu de navigation du site, les paramètres du menu de navigation du plugin seront utilisés. 🎜🎜Grâce aux étapes ci-dessus, nous avons ajouté avec succès la fonction de gestion du menu de navigation au plugin WordPress. Les utilisateurs peuvent désormais configurer des menus de navigation à l’aide de la page de menu du plugin et les appliquer à leur site Web. 🎜🎜Résumé : 🎜Cet article explique comment ajouter une fonctionnalité de gestion des menus de navigation aux plugins WordPress et fournit des exemples de code. Ajoutez la page de menu en utilisant la fonction add_menu_page(), écrivez la fonction de rappel et gérez la soumission du formulaire et obtenez les paramètres du menu de navigation, et enfin appliquez les paramètres du menu de navigation au site Web. J'espère que cet article vous aidera à ajouter une fonctionnalité de gestion des menus de navigation à votre plugin. 🎜

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal