Benutzerdefinierte WordPress Admin-Seite / URL “Sie haben keine ausreichenden Berechtigungen, um auf diese Seite zuzugreifen.”

Hier ist eine benutzerdefinierte WordPress-Admin-Seite, die ich erstellt habe: –

// code located in my custom plugin's php file function my_special_function(){ echo '
Hello World
'; } function my_menu_page(){ $page_title = "Hello Page Title"; $menu_title = "Hello Menu Title"; $capability = "administrator"; $menu_slug = "do_something"; $function = my_special_function; add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function); } add_action('admin_menu', 'my_menu_page');

Gemäß http://codex.wordpress.org/Function_Reference/add_menu_page , nimmt diese function eine “Fähigkeit” (siehe Rollen und Fähigkeiten) auf, die verwendet wird, um zu bestimmen, ob eine Seite in dem Menü enthalten ist oder nicht. Die function, die angeschlossen ist, um die Ausgabe der Seite zu handhaben, muss überprüfen, dass der Benutzer auch die erforderliche “Fähigkeit” hat.

Der aktuelle Benutzer, den ich verwende, ist der Administrator, aber wenn ich versuche, auf die Seite zuzugreifen

 http://localhost:8888/wp-admin/admin.php?page=do_something 

Ich bekomme

 You do not have sufficient permissions to access this page. 

Warum ist das so? Wie behebe ich das?

Solutions Collecting From Web of "Benutzerdefinierte WordPress Admin-Seite / URL “Sie haben keine ausreichenden Berechtigungen, um auf diese Seite zuzugreifen.”"

Das brauchst du:

 function my_special_function(){ ?> 

Hello World

< ?php } function my_menu_page(){ add_menu_page('Page title', 'Menu Title', 'administrator', 'page_slug', 'my_special_function'); } add_action('admin_menu', 'my_menu_page');

Versuche dies!

Verwenden Sie die erforderliche function, nicht die Benutzerrolle. Beachten Sie, dass dies zwei verschiedene Elemente sind: Eine Rolle kann über functionen verfügen, aber eine Administratorrolle enthält nicht notwendigerweise functionen, da sie frei zugewiesen und entfernt werden können.

manage_options wäre eine gute Möglichkeit für Sie, mit zu beginnen.

 function my_special_function(){ ?> 

Hello World

< ?php } function my_menu_page(){ add_menu_page('Page title', 'Menu Title', 'manage_options', 'page_slug', 'my_special_function'); } add_action('admin_menu', 'my_menu_page');