Problem beim Verwenden von role_has_cap hook

Ich versuche, eine Fähigkeitsprüfung zu filtern, um das Fehlen von Filtern zu umgehen, um die Benutzerbearbeitungsseite im Verwaltungsbereich anzupassen. Aber ich kann nicht scheinen, Filter zu einem Haken hinzuzufügen, und ich bin sicher, dass ich etwas Grundlegendes hier vermisse.

Der fragliche Hook ist role_has_cap und befindet sich in Zeile 343 von wp-includes/capabilities.php . Es liest:

 $capabilities = apply_filters( 'role_has_cap', $this->capabilities, $cap, $this->name ); 

Ich versuche meinen Filter zu testen, indem ich ihn zu meiner functions.php hinzufüge:

 add_filter('role_has_cap', 'my_role_has_cap_filter', 10, 3); function my_role_has_cap_filter($var_one, $var_two, $var_three) { print_r($var_one); print_r($var_two); print_r($var_three); } 

Aber absolut passiert nichts. Selbst wenn ich den Filter mit weniger Parametern, die meine function benötigt (was in meinem begrenzten Wissen einen PHP-Fehler auslösen sollte), hinzufüge, werde ich komplett von WordPress ignoriert.

Was ich eigentlich erreichen current_user_can( 'edit_posts' ) ist die Rückgabe von false an einen current_user_can( 'edit_posts' ) oder current_user_can( 'edit_pages' ) beim Anzeigen von user-edit.php im Admin-Bereich, ohne diese Fähigkeiten tatsächlich zu entfernen , aber die Tatsache, dass ein Filter Nicht zutreffend scheint mir relevanter zu sein als mein ultimatives Ziel.

Solutions Collecting From Web of "Problem beim Verwenden von role_has_cap hook"

Ich habe es endlich herausgefunden:

Zu Beginn benutzte ich den falschen Haken. Ich hätte stattdessen user_has_cap Hook verwenden sollen, was tatsächlich die Chance hat, bei Verwendung von current_user_can() aufgerufen zu werden.

Aber zweitens und am wichtigsten war, dass ich die Seite sah, während ich mich als super_admin angemeldet habe, was die function apply_filter überhaupt nicht ausgetriggers hat. Da per definitionem der Super_Admin über alle functionen verfügt, ist es für WP nicht notwendig, einen der Checks zu filtern.