aktueller Benutzer kann Benutzer bearbeiten?

Ich möchte wissen, ob es eine gute Übung ist:

if ( current_user_can( 'edit_user', $user_id ) ) { // do something } 

weil in WordPress-Dokumentation diese Fähigkeit nicht angezeigt wurde

Solutions Collecting From Web of "aktueller Benutzer kann Benutzer bearbeiten?"

Ja, es kann eine gute Übung sein, zu prüfen, ob ein Benutzer etwas tun kann, bevor er etwas im Code tut.

Speichern Sie beispielsweise keinen benutzerdefinierten Beitragstyp, wenn der Benutzer nicht über die erforderlichen functionen verfügt, oder zeigen Sie Benutzern bestimmte Dinge nicht an, die nicht über die Fähigkeit manage_options verfügen (normalerweise Admins und Administratoren).

Schlechte Praxis in diesem Fall würde annehmen, dass der Benutzer die notwendige Rolle hat, um diese Dinge zu tun und sie trotzdem zu tun. Dies bedeutet nicht, dass Sie Ihren Code überall mit cuts für current_user_can füllen sollten. An vielen Stellen (z. B. bei der Registrierung von Admin-Menüs) wird die Überprüfung von WP Core selbst durchgeführt

Alles, was es tut, ist, die Fähigkeiten des aktuellen Benutzers gegen den fraglichen Benutzer zu prüfen und einen booleschen Wert zurückzugeben. Ich glaube nicht, dass “gute Praxis” auf dieses Szenario angewendet werden kann, ohne ein vollständigeres Bild dessen, was Sie versuchen zu tun. (welcher Code wird ausgeführt, wenn der Bool wahr ist?)

Abgesehen davon, sehe ich kein Problem damit, diesen Scheck einfach zu verwenden, und es ist sicherlich keine “schlechte Praxis”. Also, mach es.

 current_user_can( 'edit_user', $user_id ) 

Dieser Begriff überprüft die »Meta-Fähigkeit« edit_user . Standardmäßig wird es der function ” edit_users , die eine typische function für die Administratorrolle darstellt. Außerdem vergleicht es die ID des aktuellen Benutzers mit der als Parameter angegebenen Benutzerkennung. Wenn sie übereinstimmen, wird die statement TRUE , da jeder Benutzer die Möglichkeit haben sollte, sein eigenes Profil zu bearbeiten.

Diese Auswertungen können durch den Filter map_meta_cap werden. Dadurch kann ein Plugin einem Benutzer (oder einer Gruppe von Benutzern) Berechtigungen für eine Teilmenge aller Benutzer erteilen. Nachdenken über eine »Moderator« -Rolle oder etwas Ähnliches.

Wenn Ihr Code einige benutzerbezogene Einstellungen oder Benutzerdaten ändert, sollten Sie diese Prüfung durchführen, wenn der aktuelle Benutzer die Berechtigung zum Bearbeiten dieser Benutzerdaten hat.