Ich habe eine Funktion zu functions.php hinzugefügt, um Benutzer nach der Anmeldung zu posts-new.php umzuleiten, und es funktioniert. Ich möchte jedoch nur, dass dies geschieht, wenn der Benutzer, der sich anmeldet, ein Mitwirkender ist. Also habe ich folgendes hinzugefügt:
/** Redirect after login */
function mysite_login_redirect(){
if ( current_user_can( 'manage_options' ) ) {
return 'http://mysite.com/wp-admin/index.php';}
else {
return 'http://mysite.com/wp-admin/post-new.php';}
}
add_action( 'login_redirect', 'mysite_login_redirect');
In diesem Zustand werden sowohl Mitwirkende als auch Administratoren zu post-new.php umgeleitet. Um es zu testen, habe ich die Funktion so modifiziert, dass Benutzer ohne die Fähigkeit umgeleitet werden:
if ( !current_user_can( 'ma ...
Wenn ich die Funktion geändert habe, werden sowohl Mitwirkende als auch Administratoren zu index.php umgeleitet.
Die Funktion scheint also zu funktionieren, aber dies impliziert für mich, dass die Funktion „manage_options“ für Administratoren nicht angezeigt wird. Ich habe mehrere admin-exklusive Funktionen mit den gleichen Ergebnissen ausprobiert. Seltsam oder?
Ich sollte sagen, dass ich das Benutzerrollen-Editor-Plugin verwende, es jedoch deaktiviert und die Funktionen mit denselben Ergebnissen getestet habe.
Ich verwende auch die Active Directory-Integration und den Admin-Menü-Editor.
Weitere Einzelheiten finden Sie hier codex.wordpress.org/Function_Reference/current_user_can
– Andreas Liu
7. Juli 2016 um 6:34 Uhr