在自定义WordPress插件的子菜单下添加自定义子菜单

时间:2020-01-27 作者:Savio menezes

我知道如何为自定义插件添加自定义菜单和子菜单。但在子菜单下创建另一个子菜单是我无法理解的。

我拥有的:

插件主菜单

添加更新活动内容:

插件主菜单

添加更新事件-创建事件(仅应在“事件”子菜单下)

-签出事件(仅应在“事件”子菜单下)

我已经在插件名称中定义了自定义菜单。根文件夹中的php。我甚至尝试添加“Create Event”(它位于单独的文件夹中,文件名为Create-Event.php),并将“Event”作为父级(Event.php)。

以下是我的插件文件夹结构:

--inc公司

=>视图

==>event.php(is /plugin-folder/inc/views/event.php)

==>create-event.php(is /plugin-folder/inc/views/create-event.php)
--js

--插件名称。php

我在插件名称中添加的php代码。php

define("PLUGIN_DIR_PATH",plugin_dir_path(__FILE__));    
add_action( \'admin_menu\', \'register_my_custom_menu_page\' );
    function register_my_custom_menu_page() {
        add_menu_page(
            __( \'My Custom Plugin\', \'textdomain\' ),
            \'MCP\',
            \'manage_options\',
            \'/plugin-folder/plugin-name.php\',
            \'home_pagefunc\',
            \'dashicons-tickets\',
            6
        );
        add_submenu_page(
                \'/plugin-folder/plugin-name.php\',
                \'Add\',
                \'Add\',
                \'manage_options\',
                \'add\',
                \'add_func\',
                \'dashicons-welcome-add-page\'
            );
        add_submenu_page(
                \'/plugin-folder/plugin-name.php\',
                \'Update\',
                \'Update\',
                \'manage_options\',
                \'update\',
                \'update_func\',
                \'dashicons-welcome-add-page\'
            );
         add_submenu_page(
            \'/plugin-folder/plugin-name.php\',
            \'Event\',
            \'Event\',
            \'manage_options\',
            \'event\',
            \'eventfunc\',
            \'dashicons-book\'
        );
        add_submenu_page(
                \'/plugin-folder/inc/views/event.php\',
                \'Create Event \',
                \'Create Event\',
                \'manage_options\',
                \'create-event\',
                \'create_event_func\',
                \'dashicons-welcome-add-page\'
        );
    }
    function home_pagefunc()
    {
     ?>
        <h1>MCP</h1>
    <?php
        }
        function add_func(){
        include_once PLUGIN_DIR_PATH."/inc/views/add.php";
        }

        function update_func(){
         include_once PLUGIN_DIR_PATH."/inc/views/update.php";
        }
        function event_func(){
         include_once PLUGIN_DIR_PATH."/inc/views/event.php";
        }
        function create_event_func(){
         include_once PLUGIN_DIR_PATH."/inc/views/create-event.php";
        }
    ?>
我是否应该将创建事件挂接到事件上。php?我只想要创建事件。php显示在事件子菜单下。由于我刚刚开始Wordpress插件开发,请指导我哪里出了问题。非常感谢您的帮助。

1 个回复
最合适的回答,由SO网友:Vitauts Stočka 整理而成

“管理”菜单项中的第三级不可用,请参阅this answer.

然而,一些插件使用第三级菜单的仿制品。使用css向子项添加左边距/填充,使其看起来像第三级菜单。

顺便说一句,的最后一个参数add_submenu_page 必须下注位置,而不是图标名称。芦苇function docs.