Mit diesem Filter können Sie erweitern die map_meta_cap()
Funktion . Diese Funktion wird durch genanntWP_User->has_cap()
eine konvertieren Meta - Fähigkeit zu einem oder mehreren primitiven Fähigkeiten .
Beispielsweise möchten Sie wissen, ob der aktuelle Benutzer den aktuellen Beitrag bearbeiten darf, die edit_post
Metafunktion . Dies hängt von einigen Faktoren ab: Ist der Benutzer der Autor des Beitrags? Ist der Beitrag bereits veröffentlicht? Ist der Beitrag als privat markiert? Die primitiven Fähigkeiten sind edit_posts
, edit_published_posts
, edit_others_posts
und edit_private_posts
: Sie diese zuweisen können Benutzerrollen . map_meta_cap()
Überprüft den Autor und den Status des Posts und gibt die korrekten primitiven Funktionen zurück, die dieser Benutzer benötigen muss, um den Post bearbeiten array('edit_others_posts', 'edit_published_posts')
zu können fortsetzen).
Durch das Hinzufügen dieser Idee von Metafunktionen und primitiven Funktionen können Sie die Basisklasse WP_User
vom Wissen über Posts und Post-Status und was auch immer frei halten und sich nur auf Funktionen konzentrieren. Die eigentliche Umrechnung erfolgt in einer externen Funktion map_meta_cap()
,.
Mit dem Filtermap_meta_cap
können Sie die Funktionalität erweitern, z. B. wenn Sie benutzerdefinierte Posts verwenden. Ich glaube, dass grundlegende Unterstützung bereitgestellt wird, wenn Sie das capabilities
Argument von angebenregister_post_type
, aber der erwähnte Artikel von Justin Tadlock und das Prospress-Plugin bieten vollständige Beispiele dafür. Sie können es jedoch anpassen, um das Capabilities-System auf Wunsch vollständig umzustellen.