Yoasts SEO plugin adds a metabox to the post edit screen. I’m trying to remove this for users who aren’t editors or above.
I’ve tried putting a remove_meta_box
call in on admin_init, trying to remove the action on $wpseo_metabox but to no avail.
How do I remove this metabox without requiring user intervention (the user should never know the metabox existed, so clicking on screen options is not an option )
2 s
On remove_meta_box
is a note:
Because you can’t remove a meta box until it’s been added, it’s
important to make sure your call to remove_meta_box() happens in the
right sequence.
WordPress SEO adds meta boxes on add_meta_boxes
action with default priority – 10, which run after admin_init
, so that won’t remove them. Instead you need to hook into add_meta_boxes
, but with lower priority – 11, 12, etc.
function mamaduka_remove_metabox() {
if ( ! current_user_can( 'edit_others_posts' ) )
remove_meta_box( 'wpseo_meta', 'post', 'normal' );
}
add_action( 'add_meta_boxes', 'mamaduka_remove_metabox', 11 );