4

I don’t need Yoast SEO meta box for one post type so I removed it with remove_meta_box(). Removed unneeded columns in post table by unsetting columns with manage_edit-custom_post_columns, but drop down is still left. Is there way to remove it?

Of course it is not that hard to do with jQuery, but maybe there is filter or something built in WP?

4

These additional dropdowns are added via the restrict_manage_posts action hook. This means the dropdown output isn't filterable, but you can remove the hooked action from Yoast SEO.

The filter dropdown is added by the posts_filter_dropdown() method in the WPSEO_Metabox class. It's added in the setup_page_analysis() method of the same class, which is hooked into admin_init at priority 10.

So, we want to remove that action to prevent the dropdown from being displayed. To do so, we can simply hook into admin_init at a priority greater than 10 (to ensure Yoast SEO has already called add_action()). Yoast SEO stores the WPSEO_Metabox class instance in the global variable $wpseo_metabox, so we can easily access it:

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' ) );
    }
}
  • 3
    In the last version of Yoast SEO (3.0 +), you must use $wpseo_meta_columns instead of $wpseo_metabox – Matthieu Apr 27 '16 at 8:39
6

Updated answer for Yoast SEO Version: 7.0.2

This will remove both seo score filter and readability filter from posts list edit page in WordPress admin.

add_action( 'admin_init', 'bb_remove_yoast_seo_admin_filters', 20 );
function bb_remove_yoast_seo_admin_filters() {
    global $wpseo_meta_columns ;
    if ( $wpseo_meta_columns  ) {
        remove_action( 'restrict_manage_posts', array( $wpseo_meta_columns , 'posts_filter_dropdown' ) );
        remove_action( 'restrict_manage_posts', array( $wpseo_meta_columns , 'posts_filter_dropdown_readability' ) );
    }
}
1

and you can add this line to the above function to remove the readability dropdown too:

    remove_action( 'restrict_manage_posts', array(  $wpseo_meta_columns, 'posts_filter_dropdown_readability' ) );

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.