Сгенерировать расширенные настраиваемые поля в пользовательской странице меню администратора

Я создал пользовательскую страницу меню администратора под названием FCC Youtube с функцией add_menu_page которая имеет некоторые настраиваемые поля, которые я вручную генерировал с помощью HTML и PHP:

код (только часть, как я создал эту страницу пользовательского меню)

 // creat admin menu page add_action("admin_menu","youtube_menu"); function youtube_menu() { add_menu_page('Youtube Channel Settings', 'FCC Youtube', 'edit_pages', 'youtube_channel_settings', 'youtube_channel_render_page','http://fcc.sportingpulse.com/wp-content/uploads/2013/04/youtube_icon16x16.png'); add_action('admin_init','youtube_regsettings'); } 

см. изображение

Я хочу создать много страниц меню администратора, таких как страница FCC Youtube, которую я создал. (FCC Vimeo, кнопки FCC и т. Д.)

Я хочу, чтобы на этих страницах были группы полей ACF. , означает, что я могу создавать группы полей ACF и назначать группу своим пользовательским страницам меню администрирования. Он будет работать точно так же, как страница дополнительных опций ACF.

ACF Option-addon не позволяет мне создавать несколько страниц параметров верхнего уровня. Я понимаю, что могу создать несколько страниц второго уровня, но хочу иметь много TOP-уровней, но я до сих пор не могу понять, как это сделать!

Я купил дополнительный вариант, но он не позволяет мне создавать несколько страниц «верхнего уровня», у меня есть только родительская страница «Параметры», а затем множество подстраниц под ней, я хочу иметь другую «Топ» Уровни "имеют другие имена, чем« Опции », но это очень сложно сделать: s,

видеть это введите описание изображения здесь

У меня есть все эта страница параметров в разделе «Параметры» родителя, я не могу перемещать их за пределы родительского

введите описание изображения здесь

Solutions Collecting From Web of "Сгенерировать расширенные настраиваемые поля в пользовательской странице меню администратора"

Интересное упражнение, одностраничный плагин, который считает, что он заслуживает страницы меню первого уровня, ошибочен, ИМО. Я использую ту же технику с Jetpack.

Чтобы создать вспомогательные страницы в дополнительном окне «Параметры», прочтите документацию .

Логикой этого обмена подменю / подменю является:

  1. Добавить несколько страниц настроек ACF
  2. Создайте страницу меню первого уровня
  3. Удалить (скрыть) нашу страницу плагина
  4. Добавить (переместить) нашу страницу плагина в ACF

Шаги 1 и 2 должны сделать этот пример общим.
Чтобы использовать его с любым другим плагином, необходимы только шаги 3 и 4, регулирующие пули.
Чтобы переместить его в меню WP по умолчанию, используйте, например, add_theme_page (Внешний вид) или add_options_page (Настройки).

 <?php /** * Plugin Name: Swap Menus and Sub-menus * Plugin URI: http://wordpress.stackexchange.com/q/95981/12615 * Author: brasofilo * Author URI: http://wordpress.stackexchange.com/users/12615/brasofilo * Licence: GPLv2 or later */ class Swap_Menus_WPSE_95981 { function __construct() { add_action( 'plugins_loaded', array( $this, 'modify_menus' ) ); } function modify_menus() { // 1) Add ACF Options pages if( function_exists( "register_options_page" ) ) { register_options_page( 'Header' ); register_options_page( 'Footer' ); } // 2) Create this plugin page add_action( 'admin_menu', array( $this, 'add_aux_menu' ) ); // 3) Remove (hide) this plugin page add_action( 'admin_init', array( $this, 'remove_aux_menu' ) ); // 4) Move this plugin page into ACF Options page // Priority here (9999) is to put the submenu at last postition // If the priority is removed, the submenu is put at first position add_action( 'admin_menu', array( $this, 'add_aux_menu_again'), 9999 ); } function add_aux_menu() { add_menu_page( 'Dummy Page First Level', 'Dummy Title', 'edit_posts', 'dummy-page-slug', array( $this, 'menu_page_content' ) ); } function menu_page_content() { ?> <div id="icon-post" class="icon32"></div> <h2>Dummy Page</h2> <p> Lorem ipsum</p> <?php } function remove_aux_menu() { remove_menu_page( 'dummy-page-slug' ); } function add_aux_menu_again() { // To move into default pages, f.ex., use add_theme_page or add_options_page add_submenu_page( 'acf-options-header', // <---- Destination menu slug 'Dummy Page Second Level', 'Dummy Page Second Level', 'edit_posts', 'dummy-page-slug', array( $this, 'menu_page_content' ) ); } } new Swap_Menus_WPSE_95981();