Elimine el Yoast SEO Post Metabox [cerrado]


7

El complemento SEO de Yoasts agrega un metabox a la pantalla de edición de publicaciones. Estoy tratando de eliminar esto para los usuarios que no son editores o superiores.

Intenté poner una remove_meta_boxllamada en admin_init, tratando de eliminar la acción en $ wpseo_metabox pero fue en vano.

¿Cómo elimino este metabox sin requerir la intervención del usuario?


¿Me atrevo a preguntar por qué quieres eliminarlo? ¿Hay algo específicamente que no quieres que puedan hacer?
Joost de Valk

2
Debido a que hay una clase de usuarios que no tiene idea de qué es SEO, las cosas deben simplificarse para ellos (más al punto que el cliente con el efectivo lo solicitó). Alguien con privilegios de nivel de editor moderará y aprobará la publicación de todos modos, por lo que es mejor si hacen la parte de SEO en lugar de que los usuarios de nivel inferior escriban el contenido inicial.
Tom J Nowell

Y esto realmente debería ser un comentario, no una respuesta, no quisiera que otras personas lo despreciaran
Tom J Nowell

Respuestas:


16

En remove_meta_boxhay una nota:

Debido a que no puede eliminar un meta box hasta que se haya agregado, es importante asegurarse de que su llamada a remove_meta_box () se realice en la secuencia correcta.

WordPress SEO agrega meta cuadros en add_meta_boxesacción con prioridad predeterminada: 10, que se ejecutan después admin_init, para que no se eliminen. En cambio, debe conectarse add_meta_boxes, pero con menor prioridad: 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 );

2

Eliminar metaboxes para cuentas que no sean de administrador:

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;
}

No funciona en eventos desde un complemento de calendario de eventos; sin embargo, esto funcionó para publicaciones regulares. No estoy seguro de si esto funciona en tipos de publicaciones personalizadas.
Radmation
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.