PHP
<?php
add_action( 'map_meta_cap', 'custom_manage_privacy_options', 1, 4 );
function custom_manage_privacy_options( $caps, $cap, $user_id, $args ) {
if ( ! is_user_logged_in() ) {
return $caps;
}
$user_meta = get_userdata( $user_id );
if ( is_array( $user_meta->roles ) && array_intersect( array( 'editor', 'administrator' ), $user_meta->roles ) ) {
if ( 'manage_privacy_options' === $cap ) {
$manage_name = is_multisite() ? 'manage_network' : 'manage_options';
$caps = array_diff( $caps, array( $manage_name ) );
}
}
return $caps;
}