Добавить подменю 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). Если вы прокомментируете вызов функции подменю, параметры сокращения будут показаны правильно (иллюстрация случая 2). Я потратил много времени, но не могу заставить его работать. Я был настолько уверен, что это ошибка, что открыл кейс в системе отслеживания проблем на github (#1745), а также предоставил некоторые дополнительные сведения. Они сказали, что я, вероятно, делаю это неправильно. Кто-нибудь может мне помочь?

//Редактировать Добавлен скриншот для обоих случаев

Дела

//Редактировать Это поведение исправлено в Redux 3.3.9.35. Больше нет необходимости добавлять еще одну страницу в качестве обходного пути.


person No3x    schedule 19.10.2014    source источник
comment
Вам удалось заставить это работать?   -  person Aaron Lee    schedule 23.11.2014
comment
@AaronLee нет. Я бы поделился решением. В качестве обходного пути я создал страницу «Об этом плагине»… Можете ли вы подтвердить поведение?   -  person No3x    schedule 14.12.2014


Ответы (3)


Попытка добавить более низкий приоритет для хука «admin_menu». У меня работает Priority 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');
}

Редукс конфигурация:

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

Работает нормально для меня.

person Mrky    schedule 20.11.2014
comment
Ну, это то, что я делаю, не так ли? Пожалуйста, посмотрите на мой пример кода плагина выше. Приоритет равен 9. Вы только что подтвердили поведение, что сначала вам нужен вход в подменю! В противном случае меню не отображается - и в этом проблема. - person No3x; 20.11.2014

Итак, Redux создает собственное меню. Вы пытаетесь сделать это подменю меню тогда?

Родителем страницы обычно является файл php...

person Dovy    schedule 20.10.2014
comment
Да, я пытаюсь сделать его подменю меню (зарегистрированного верхнего уровня). Частный случай: в меню пока нет подменю -› не появляется redux. Если я добавлю хотя бы одно подменю, также появится сокращение. (см. добавленную иллюстрацию) - person No3x; 20.10.2014

Это поведение исправлено в Redux 3.3.9.35. Больше нет необходимости добавлять еще одну страницу в качестве обходного пути.

person No3x    schedule 25.01.2015