WordPress-Fehler beim Entwickeln eines Plugins – „Sie haben keine ausreichenden Berechtigungen, um auf diese Seite zuzugreifen.“
Lesezeit: 5 Minuten
Ich habe gerade angefangen, die Entwicklung von WordPress-Plugins zu lernen, und habe diesen Fehler erhalten, wenn ich über den Administrator auf das Menü „Mein Plugin“ zugreife.
Hier ist der Code: importer.php
//*************** Admin function ***************
function oscimp_admin() {
include('importer_admin.php');
}
function oscimp_admin_actions() {
add_options_page("OSCommerce Product Display", "OSCommerce Product Display", 1, "OSCommerce Product Display", "oscimp_admin");
}
add_action('admin_menu', 'oscimp_admin_actions');
Das Problem ist der vierte Parameter. Ich habe die Leerzeichen aus dem vierten Parameter mit _ entfernt und es funktioniert.
Danke für Ihre Hilfe…
Es tut mir leid, dass ich sagen muss: Danke dafür! 😉
– schw
1. Mai 2013 um 17:00 Uhr
Email
Das eigentliche Tutorial kann gefunden werden HIER. Und es sollte mit der Version 2.9.2 von WordPress funktionieren, zumindest funktioniert es bei mir. Aber wenn ich versuche, den Code des Tutorials mit Version 3.1 auszuführen, erhalte ich den gleichen Fehler. Aber wie erwähnt von Avinash die Linie
und dann funktioniert es richtig. Hoffe es hilft jemandem.
AKTUALISIEREN:
Wie zu Recht von angegeben Francisco Corrales Im folgenden Kommentar können Sie das Plugin deaktivieren und erneut aktivieren, wenn Sie die Änderungen nicht sehen.
Schreckliche Anleitung. Für mich hat diese Umstellung nichts gebracht.
– JohnnyBizzle
5. August 2011 um 13:47 Uhr
Bitte machen Sie es deutlicher, ich verbringe 5 Minuten damit, auf diese Zeilen zu starren. Es ist wichtig hinzuzufügen, dass Sie das Plugin deaktivieren und wieder aktivieren müssen.
– Francisco Corrales Morales
24. Januar 2014 um 16:20 Uhr
Danke Francisco Corrales. Ihren Kommentar bei der Antwort hinzugefügt. Darf ich übrigens wissen, welche WP-Version Sie für dieses Plugin verwenden?
– Email
25. Januar 2014 um 7:36 Uhr
Ich habe WordPress 3.8 verwendet. +1 weil du mir zuhörst.
– Francisco Corrales Morales
10. Februar 2014 um 22:58 Uhr
Eine mögliche Ursache für diesen Fehler ist die Registrierung von Admin-Menüs admin_init Aktionshaken, statt admin_menu. Dies ist hier nicht der Fall, aber es ist gut, diese Informationen zu teilen, da ich Stunden gebraucht habe, um das herauszufinden.
Registrieren Sie Ihre Menüs also immer so (und entfernen Sie Leerzeichen oder andere nicht alphanumerische Zeichen aus dem eindeutigen Slug – the 4 Parameter der Funktion add_options_page() ):
Anfänglich
add_action('admin_menu', 'your_function');
und dann (zuerst prüfen, ob Funktion vorhanden ist)
if (!function_exists('your_function')) {
function your_function() {
add_options_page(__("Option page name","your-text-domain"), __("Option page name","your-text-domain"), 'manage_options', 'your-page-unique-slug', 'other_function');
}
}
Beachten Sie die Verwendung von __() Funktion anstelle der direkten Platzierung der Titel – es ist für die Internationalisierung Ihres Plug-Ins erforderlich (und es zeigt den zitierten Text an, wenn keine Internationalisierungsdateien vorhanden sind).
Auf WordPress 3.6.1 funktionieren nicht einmal mehr Unterstriche. Die Funktion sollte nun lauten:
Schreiben Sie den Code Ihrer Datei importer_admin.php in die Funktion oscimp_admin() oder verwenden Sie die Funktion file_get_contents von PHP.
Glückspilz_look
Ich habe gerade versucht, den 4. Parameter in add_options_page mit basename(_DATEI_); sollte in Ihrem Fall der gleiche Wert wie “importer.php” sein. Ich weiß nicht genau, was es geändert werden sollte, aber es ist Arbeit!
Viel Glück!
Gaurang
Ja, der Forth-Parameter ist ein eindeutiger Name, und für jede eindeutige Kennung sollte er Leerzeichen enthalten. Das ist das Problem 🙂
10033600cookie-checkWordPress-Fehler beim Entwickeln eines Plugins – „Sie haben keine ausreichenden Berechtigungen, um auf diese Seite zuzugreifen.“yes