Redux框架添加子菜单

时间:2014-10-19 20:02:12

标签: wordpress redux-framework

我无法让Redux Options Framework适用于我的插件。我试图将设置作为子菜单添加到我的插件中。

我创建了一个简化的演示插件,也可以批准这种行为。

<?php
/**
 * Plugin Name: Redux sample plugin
 * Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
 * Description: A brief description of the Plugin.
 * Version: The Plugin's Version Number, e.g.: 1.0
 * Author: Name Of The Plugin Author
 * Author URI: http://URI_Of_The_Plugin_Author
 * License: A "Slug" license name e.g. GPL2
 */

require_once(plugin_dir_path(__FILE__) . 'inc/admin/admin-init.php'); 

function redux_sample_plugin_log() {
}

function createSettingsMenue() {

        $pluginSlug = 'redux_sample_plugin';
        //create new top-level menu
        add_menu_page('Redux Sample Plugin'),
                        'Redux Sample Plugin',
                        'administrator',
                        $pluginSlug . '_log',
                        'LogMenu'
                                );

        /*add_submenu_page( $pluginSlug . '_log',
                        null,
                        'Im a silly dummy entry',
                        'administrator',
                        'dummy',
                        '__return_null'  );*/
}
add_action( 'admin_menu', 'createSettingsMenue', 9 );

我将配置更改为:

...
    'page_slug' => 'my_plugin_settings',
    'page_title' => 'Settings'
    'menu_type' => 'submenu',
    'page_parent' => 'redux_sample_plugin_log',
...

菜单未显示上面的代码(案例1插图)。如果您在子菜单函数调用中发表评论,则会显示redux选项(案例2插图)。我花了很多时间但却无法正常工作。我确信它肯定是一个错误,我在github问题跟踪器(#1745)上打开了一个案例,并提供了一些额外的细节。他们说我可能做错了。 有人可以帮助我吗?

//编辑 添加了两种情况的屏幕截图

Cases

//编辑 Redux 3.3.9.35中修复了此问题。无需再添加其他页面作为解决方法。

3 个答案:

答案 0 :(得分:0)

所以Redux创建了它自己的菜单。您是否尝试将其设为菜单的子菜单?

Page parent通常是一个php文件...

答案 1 :(得分:0)

尝试为“admin_menu”挂钩添加较低优先级。优先级9对我有用。

add_action( 'admin_menu', 'register_my_custom_menu_page', 9);

function register_my_custom_menu_page(){
    add_menu_page( "Options", "Options", 'manage_options', "slug_options", 'function_to_call', '', 81 );
    add_submenu_page( 'slug_options', 'My Custom Page', 'My Custom Page', 'manage_options', 'sub-menu-slug', 'function_to_call_sub');
}

Redux配置:

'menu_type'            => 'submenu',
'allow_sub_menu'       => true,
'page_parent'          => "slug_options",
'page_permissions'     => 'manage_options',

对我来说很好。

答案 2 :(得分:0)

在Redux 3.3.9.35中修复了此问题。无需再添加其他页面作为解决方法。