Aufgrund seiner Angabe manage_options es erscheint nur für Administratoren. Ich muss es den Redakteuren zeigen. Folgendes habe ich in der Datei functions.php meines Themes ausprobiert:
add_action( 'admin_menu', 'custom_settings_menu', 99 );
function custom_settings_menu()
{
// Remove the submenu item first
remove_submenu_page( 'propertyhive', 'ph-settings' );
// Add it again but with different role (manage_propertyhive)
// This role does exist as other submenu items ue it
add_submenu_page( 'propertyhive', 'Property Hive Settings', 'Settings', 'manage_propertyhive', 'ph-settings', 'my_theme_callback_fn' );
}
Obwohl dieses tut Untermenüpunkt korrekt anzeigen, erhalte ich folgende Fehlermeldung:
Sorry, you are not allowed to access this page.
Kann jemand etwas Offensichtliches sehen oder irgendwelche Neigungen haben, was dies verursachen könnte?
Notiz: Das manage_propertyhive Fähigkeit auf jeden Fall tut existieren
Ich glaube, dass dies geschieht, weil „manage_propertyhive“ keine definierte Fähigkeit ist, daher wird niemand Zugriff auf dieses Menü haben. Sie können entweder eine der vordefinierten WordPress-Funktionen verwenden, die Sie finden können hier oder Sie können Ihre eigene benutzerdefinierte Funktion wie „manage_propertyhive“ definieren, indem Sie den Anweisungen folgen hier.
Hoffe das hilft!
Danke, aber manage_propertyhive ist definitiv eine Fähigkeit. a) es ist mein Plugin und b) andere Untermenüpunkte verwenden es ohne Probleme. Danke aber für deine Antwort
– BIOSTALL
19. Oktober 2016 um 19:50 Uhr
1) Sind Sie sicher, dass add_submenu_page() Funktion aus dem Plugin wird korrekt kopiert? add_submenu_page() akzeptiert nur 6 Parameter – in Ihrer Frage hat es 7 Parameter mit propertyhive ist die Fähigkeit und manage_options das sein menu_slug (was verwirrend ist)
2) Ich schätze, dass sowohl Administratoren als auch Redakteure die Fähigkeit haben manage_propertyhive ? Wenn nicht, stellen Sie sicher.
3) In Ihrem Beispielcode die Callback-Funktion für die neue propertyhive Untermenüseite ist my_theme_callback_fn – hast du hier die richtige Callback-Funktion eingefügt?
4) Die Tatsache, dass Sie die Untermenüseite Editoren hinzufügen, bedeutet nicht unbedingt, dass sie auf diese Seite zugreifen können – haben Sie das Plugin auf weitere Fähigkeitsprüfungen überprüft? Vielleicht werden im Code der Callback-Funktion oder in irgendeiner anderen Funktion des Plugins die Fähigkeiten noch einmal überprüft und Editoren fehlen einige Fähigkeiten.
Angenommen, Sie haben die Funktion richtig eingerichtet, vielleicht erlaubt die übergeordnete Seite keinen Zugriff auf die Untermenüseite, stellen Sie sicher, dass der Benutzer auf die übergeordnete Seite zugreifen kann …
Neben der Überprüfung verschiedener anderer Dinge wird auch überprüft, ob die übergeordnete Seite für den Benutzer zugänglich ist.
Wenn das nicht funktioniert, würde ich vorschlagen, dass Sie auf Ihrer lokalen Installation zu dieser Datei gehen und var_dump alle Variablen, die vor der Rückgabe überprüft werden falseso debuggen wir Entwickler die Fehler… 😉
Stellen Sie sicher, dass Sie die Datei in der Originaldatei wiederherstellen (ich aktualisiere nur WordPress erneut, das alle Kerndateien in ihren ursprünglichen Zustand zurückversetzt) …
Ich hoffe, das hilft.
13697100cookie-checkUntermenü-Link nur für Administratoren zu Editoren in WordPress anzeigen. Führt zu Fehlernyes