it-swarm.com.de

Menüfehler in der Admin-Konsole mit benutzerdefiniertem Plugin: Sie haben nicht die erforderlichen Berechtigungen, um auf diese Seite zuzugreifen

( Hinweis des Moderators: Der ursprüngliche Titel lautete "Fehler: Sie haben nicht genügend Berechtigungen, um auf diese Seite zuzugreifen. Der Versuch zu erstellen benutzerdefiniertes Plugin ")

Ich versuche, mein eigenes WordPress-Plugin zu schreiben, aber sobald ich auf das Menü klicke, wird folgende Fehlermeldung angezeigt:

Sie haben keine ausreichenden Berechtigungen, um auf diese Seite zuzugreifen.

Mein Plugin befindet sich unter:

/wp-content/plugins/wp-e-commerce-group-pricing/wp-e-commerce-group-pricing.php

Der Code ist unten, ich bin neu in WordPress, also mache ich vielleicht etwas falsch:

if ( is_admin() ) {
  // Hooks and admin menu setup
  add_action('admin_menu', 'add_options_gp');

  function add_options_gp() {
    add_submenu_page('wpsc-sales-logs','WPEC - Group Pricing','Group Pricing',7,
                     'wp-e-commerce-group-pricing', 'price_options');
  }

  function price_options(){
    // Page content goes here...
  }
}
2
Roland

Ich denke, das Problem könnte in Ihrem Anruf bei add_submenu_page() liegen:

add_submenu_page('wpsc-sales-logs',...

Der erste Parameter muss ein Verweis auf den "Slug" Ihrer Menüseite sein, d. H., Wenn Sie stattdessen 'edit.php' verwenden, wird auf der Menüseite "Posts" eine Menüoption angezeigt:

add_submenu_page('edit.php','WPEC - Group Pricing','Group Pricing', 7,
                 'wp-e-commerce-group-pricing', 'price_options');

So sieht es aus:

WordPress Admin Menu with Submenu Page URL
(Quelle: mikeschinkel.com )

Sie müssen also herausfinden, welches URL-Fragment (der Teil nach http://yoursite.com/wp-admin/) Ihre Menüseite verwendet.

AKTUALISIEREN

Für zukünftige Leser war Rolands Ausgabe eine Hakenpriorität Ausgabe. Das Ändern der Priorität von 10 auf 11 behebt dies in seinem Fall:

add_action('admin_menu', 'add_options_gp',11);

P.S. Sie brauchen die Anweisung if nicht wirklich, um is_admin() zu testen, da Sie den Hook 'admin_menu' verwenden. es feuert nur im admin.

4
MikeSchinkel

Wird es angezeigt und funktioniert es, wenn Sie es als Untermenüseite zu einem anderen Menüelement hinzufügen? Bitte versuchen Sie dies, um sicherzustellen, dass es funktioniert und das einzige Problem ist die Schnecke. Irgendwann würde ich vorschlagen, nach dem übergeordneten Plugin-Ordner zu suchen und dort nach add_menu_page zu suchen.

Wenn Sie in Ihrem wp E-Commerce-Ordner nachsehen: wp-E-Commerce> wpsc-admin> admin.php in Zeile 71-96, finden Sie die Vorgehensweise im Plugin.

@Mike: Hier ist der Download-Link

versuchen Sie, add_object_page( $page_title, $menu_title, $access_level, $file, $function = '', $icon_url = ''); mit 'admin.php?page=wpsc-sales-logs' oder 'wpsc-sales-logs' zu verwenden.

Oder versuchen Sie, etwas wie add_submenu_page('wpsc-sales-logs', __('WPEC - Group Pricing', 'wpsc'), __('Group Pricing', 'wpsc'), 7, 'wpsc-sales-logs', 'price_options'); zu verwenden, oder schauen Sie sich die Referenz aus den wp-e-commerce-Plug-in-Dateien in Zeile 99-108 (Datei von oben) an

1
kaiser