Wie stelle ich die richtige URL in das Untermenü ein?

Ich versuche, mein erstes Plugin zu erstellen und mein Plugin-Menü so zu erstellen:

function group_panel(){ include('html/example.html'); echo "

{$_POST['data']}"; } function groups_add_menu(){ if (function_exists('add_menu_page')){ add_menu_page('Group','Group',8,basename(__FILE__),'group_panel',plugins_url('/img/icon.png',__FILE__)); add_submenu_page(basename(__FILE__),'Example','Example',8,'red.php'); } }

Und meine Ordner sind so

Ich habe die Datei red.php innerhalb von /plugins/my-plugin/red.php aber wenn ich in meinem “Beispiel” -Menü drücke, sende ich Word an den Index, aber die erste Option (“Gruppe”) funktioniert.

Wie kann ich die URL für mein Menü setzen?

Solutions Collecting From Web of "Wie stelle ich die richtige URL in das Untermenü ein?"

Sie können keine externe Datei auf diese Weise laden. Dieses Argument gilt für Menü-Slugs. Wenn Sie die externe Datei laden, ist es nutzlos, es gibt nichts außer dem, was Sie in der Datei drucken werden, es wird auch keine WordPress-functionen geben (weil WordPress nicht geladen ist).

Sie können dafür eine Callback-function definieren und dann Ihre red.php in diese function red.php .

Firs definiert eine Konstante für Ihren Plugin-Pfad in der Hauptdatei (wo der Plugin-Header definiert ist), so dass Sie sie später auch verwenden können.

 define( 'MY_PLUGIN_PATH', plugin_dir_path( __FILE__ ) ); 

Fügen Sie dann die Untermenü-Seite mit der Slug- und Callback-function hinzu

 add_submenu_page(basename(__FILE__),'Example','Example', 'manage_options', 'my-plugin-page-slug', 'include_plugin_file'); 

HINWEIS – Benutzerlevel (von 1 bis 10) sind veraltete functionen. Siehe Rollen und Fähigkeiten

Verwenden Sie dann in Ihrer Callback-function die Pfadkonstante und fügen Sie die Datei ein

 function include_plugin_file() { include_once MY_PLUGIN_PATH . 'red.php'; }