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

importer_admin.php

<div class="wrap">
<?php    echo "<h2>" . __( 'OSCommerce Product Display Options', 'oscimp_trdom' ) . "</h2>"; ?>

<form name="oscimp_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
    <input type="hidden" name="oscimp_hidden" value="Y">
    <?php    echo "<h4>" . __( 'OSCommerce Database Settings', 'oscimp_trdom' ) . "</h4>"; ?>
    <p><?php _e("Database host: " ); ?><input type="text" name="oscimp_dbhost" value="<?php echo $dbhost; ?>" size="20"><?php _e(" ex: localhost" ); ?></p>
    <p><?php _e("Database name: " ); ?><input type="text" name="oscimp_dbname" value="<?php echo $dbname; ?>" size="20"><?php _e(" ex: oscommerce_shop" ); ?></p>
    <p><?php _e("Database user: " ); ?><input type="text" name="oscimp_dbuser" value="<?php echo $dbuser; ?>" size="20"><?php _e(" ex: root" ); ?></p>
    <p><?php _e("Database password: " ); ?><input type="text" name="oscimp_dbpwd" value="<?php echo $dbpwd; ?>" size="20"><?php _e(" ex: secretpassword" ); ?></p>
    <hr />
    <?php    echo "<h4>" . __( 'OSCommerce Store Settings', 'oscimp_trdom' ) . "</h4>"; ?>
    <p><?php _e("Store URL: " ); ?><input type="text" name="oscimp_store_url" value="<?php echo $store_url; ?>" size="20"><?php _e(" ex: http://www.yourstore.com/" ); ?></p>
    <p><?php _e("Product image folder: " ); ?><input type="text" name="oscimp_prod_img_folder" value="<?php echo $prod_img_folder; ?>" size="20"><?php _e(" ex: http://www.yourstore.com/images/" ); ?></p>


    <p class="submit">
    <input type="submit" name="Submit" value="<?php _e('Update Options', 'oscimp_trdom' ) ?>" />
    </p>
</form>
</div>

Jeder kann herausfinden, was ich falsch mache.

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

Wordpress Fehler beim Entwickeln eines Plugins – „Sie haben keine ausreichenden
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

add_options_page(“OSCommerce Product Display”, “OSCommerce Product Display”, 1, “OSCommerce Product Display”, “oscimp_admin”);

Sollte durch ersetzt werden

add_options_page(“OSCommerce Product Display”, “OSCommerce Product Display”, 1, “OSCommerce_Product_Display”, “oscimp_admin”);

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:

function oscimp_admin_actions() {
    add_options_page("OSCommerce Product Display", "OSCommerce Product Display", 1, "OSCommerceProductDisplay", "oscimp_admin");
}

Schreiben Sie den Code Ihrer Datei importer_admin.php in die Funktion oscimp_admin() oder verwenden Sie die Funktion file_get_contents von PHP.

Wordpress Fehler beim Entwickeln eines Plugins – „Sie haben keine ausreichenden
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!

1647299353 21 Wordpress Fehler beim Entwickeln eines Plugins – „Sie haben keine ausreichenden
Gaurang

Ja, der Forth-Parameter ist ein eindeutiger Name, und für jede eindeutige Kennung sollte er Leerzeichen enthalten. Das ist das Problem 🙂

1003360cookie-checkWordPress-Fehler beim Entwickeln eines Plugins – „Sie haben keine ausreichenden Berechtigungen, um auf diese Seite zuzugreifen.“

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy