Warum Administratoren innerhalb eines Multisite-Netzwerks von WordPress ihre Privacy-Einstellungen nicht selbst vornehmen können, erschließt sich mir nicht so ganz, und ist in den mir bisher untergekommenen Praxisfällen auch wenig hilfreich. Nachfolgendes Snippet gibt die Berechtigung an Site-Adminstratoren weiter.
add_action( 'map_meta_cap', function ( $caps, $cap, $user_id, $args ) {
if ( !is_user_logged_in() ) return $caps;
$user_meta = get_userdata( $user_id );
if ( array_intersect( ['administrator'], $user_meta->roles ) ) {
if ( 'manage_privacy_options' === $cap ) {
$manage_name = is_multisite() ? 'manage_network' : 'manage_options';
$caps = array_diff( $caps, [ $manage_name ] );
}
}
return $caps;
}, 1, 4 );
Schreibe einen Kommentar