Remova a Metabox da publicação do Yoast SEO [fechada]

7

O plugin Yoasts SEO adiciona um metabox à tela de pós-edição. Estou tentando remover isso para usuários que não são editores ou acima.

Tentei fazer uma remove_meta_boxchamada em admin_init, tentando remover a ação em $ wpseo_metabox, mas sem sucesso.

Como removo esse metabox sem exigir a intervenção do usuário (o usuário nunca deve saber que o metabox existia, portanto, clicar nas opções da tela não é uma opção)

Tom J Nowell
fonte
Ouso perguntar por que você deseja removê-lo? Existe algo específico que você não deseja que eles possam fazer?
Joost de Valk
2
Como há uma classe de usuário que não tem idéia do que é SEO, as coisas precisam ser simplificadas para ele (mais ao ponto que o cliente com o dinheiro solicitou). Alguém com privs no nível do editor moderará e aprovará a postagem de qualquer maneira, portanto é melhor fazer a parte de SEO do que os usuários de nível inferior que escrevem o conteúdo inicial.
Tom J Nowell
E isso deve ser realmente um comentário não é uma resposta, não quer que outras pessoas downvote você
Tom J Nowell

Respostas:

16

On remove_meta_boxé uma observação:

Como você não pode remover uma meta box até que ela seja adicionada, é importante garantir que sua chamada para remove_meta_box () ocorra na sequência correta.

O WordPress SEO adiciona meta boxes em add_meta_boxesação com prioridade padrão - 10, que são executadas depois admin_init, para que não sejam removidas. Em vez disso, você precisa se conectar add_meta_boxes, mas com prioridade mais baixa - 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 );
Mamaduka
fonte
2

Remova metaboxes para contas não administrativas:

add_filter ( 'manage_edit-post_columns', 'rkv_remove_columns' );
function rkv_remove_columns( $columns ) {

   if ( ! current_user_can('administrator') ) { 

    unset( $columns['wpseo-score'] );
    unset( $columns['wpseo-title'] );
    unset( $columns['wpseo-metadesc'] );
    unset( $columns['wpseo-focuskw'] );
}
    return $columns;
}
Amsbundem
fonte
Não funciona em eventos de um plug-in de calendário de eventos - no entanto, isso funciona para postagens regulares. Não tenho certeza se isso funciona em tipos de postagem personalizados.
Radmation