Feld “Erweiterte benutzerdefinierte Felder” in der benutzerdefinierten Admin-Menüseite erstellen

Ich habe eine benutzerdefinierte Admin- add_menu_page namens FCC Youtube mit der function add_menu_page , die einige benutzerdefinierte Felder enthält, die ich manuell über HTML und PHP generiert habe:

Code (nur der Teil, wie ich diese benutzerdefinierte Admin-Menüseite erstellt habe)

 // 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'); } 

siehe Bild

Ich möchte viele Admin-Menüseiten erstellen, wie die von mir erstellte FCC Youtube-Seite. (FCC Vimeo, FCC Tasten etc.)

Ich wünsche, dass diese Seiten ACF-Feldgruppen haben. , bedeutet, dass ich ACF-Feldgruppen erstellen und die Gruppe meinen benutzerdefinierten Admin-Menüseiten zuordnen kann. Es funktioniert genauso wie die ACF Option-Addon-Seite.

ACF Option-Addon erlaubt mir nicht, mehrere Top-Level-Optionen zu erstellen. Ich verstehe, dass ich mehrere Option-Seite der zweiten Ebene erstellen kann, aber ich möchte viele TOP-Ebene haben, aber ich kann immer noch nicht herausfinden, wie das geht!

Ich habe das Option-Add-On gekauft, aber es erlaubt mir nicht, mehrere “Top-Level” -Option-Seiten zu erstellen, ich habe nur eine übergeordnete Seite namens “Optionen”, dann viele Unterseiten darunter, ich möchte andere “Top” haben Level “Seiten haben andere Namen als” Optionen “, aber es scheint sehr schwierig zu sein: s,

Sieh dir das an Bildbeschreibung hier eingeben

Ich habe alle diese Optionen-Seite unter den Eltern “Optionen”, ich kann sie nicht außerhalb des Elternteils verschieben

Bildbeschreibung hier eingeben

Solutions Collecting From Web of "Feld “Erweiterte benutzerdefinierte Felder” in der benutzerdefinierten Admin-Menüseite erstellen"

Interessante Übung, ein einseitiges Plugin, das glaubt, dass es eine Menüseite der ersten Ebene verdient, ist falsch, IMO. Ich benutze die gleiche Technik mit Jetpack.

Weitere Informationen zum Erstellen von Unterseiten im Add-on “Optionen” finden Sie in der Dokumentation .

Die Logik dieses Menü / Untermenü-Swapping ist:

  1. Fügen Sie mehrere ACF-Optionen hinzu
  2. Erstellen Sie unsere Menü-Seite auf der ersten Ebene
  3. Entfernen (verstecken) Sie unsere Plugin-Seite
  4. Fügen Sie unsere Plugin-Seite in ACF’s hinzu

Die Schritte 1 und 2 sollen dieses Beispiel generisch machen.
Um es mit jedem anderen Plugin zu verwenden, sind nur die Schritte 3 und 4 notwendig, um die Nacktschnecken anzupassen.
Um es beispielsweise in ein Standard-WP-Menü zu verschieben, verwenden Sie add_theme_page (Appearance) oder add_options_page (Settings).

 < ?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() { ?> 

Dummy Page

Lorem ipsum

< ?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();