posts – Eliminar el menú desplegable de filtros en la tabla de publicaciones (en este caso, Yoast SEO)

Pregunta:

No necesito el metabox de Yoast SEO para un tipo de publicación, así que lo eliminé con remove_meta_box (). Se eliminaron las columnas innecesarias en la tabla de publicaciones al desmarcar las columnas con manage_edit-custom_post_columns, pero aún queda el menú desplegable. ¿Hay alguna forma de eliminarlo?

Por supuesto, no es tan difícil de hacer con jQuery, pero ¿tal vez hay un filtro o algo integrado en WP?

Respuesta:

Estos menús desplegables adicionales se agregan a través del gancho de acción restrict_manage_posts . Esto significa que la salida desplegable no se puede filtrar, pero puede eliminar la acción enganchada de Yoast SEO.

El menú desplegable de filtros se agrega mediante el método posts_filter_dropdown() en la clase WPSEO_Metabox . Se agrega en el método setup_page_analysis() de la misma clase, que está conectado a admin_init con prioridad 10.

Por lo tanto, queremos eliminar esa acción para evitar que se muestre el menú desplegable. Para hacerlo, simplemente podemos conectar admin_init con una prioridad mayor que 10 (para asegurarnos de que Yoast SEO ya haya llamado add_action() ). Yoast SEO almacena la instancia de la clase WPSEO_Metabox en la variable global $wpseo_metabox , por lo que podemos acceder fácilmente a ella:

add_action( 'admin_init', 'wpse151723_remove_yoast_seo_posts_filter', 20 );

function wpse151723_remove_yoast_seo_posts_filter() {
    global $wpseo_metabox;

    if ( $wpseo_metabox ) {
        remove_action( 'restrict_manage_posts', array( $wpseo_metabox, 'posts_filter_dropdown' ) );
    }
}

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım