Ma page Wordpress a quelques éditeurs. Ils ont besoin de cette permission car ils doivent être autorisés à modifier les messages/pages des autres. Cependant il y a deux pages que je ne veux que moi, l'administrateur peut éditer.
Comment puis-je accomplir cela?
Vous pouvez essayer le filtre map_meta_cap
:
/**
* Uneditable posts/pages for editors
*/
add_filter( 'map_meta_cap', function ( $caps, $cap, $user_id, $args )
{
// Edit to your needs:
$post_ids = [123, 234, 345, 456]; // Uneditable posts
$role = 'editor'; // Uneditable by this user role
// Make given posts uneditable for the above user role:
if (
'edit_post' === $cap
&& isset( $args[0] )
&& in_array( $args[0], $post_ids )
&& current_user_can( $role )
)
$caps[] = 'do_not_allow';
return $caps;
}, 10, 4 );
rendre certaines pages/publications non modifiables par les éditeurs.