正在删除POSTS表中的过滤器下拉列表(在本例中为Yoast SEO)

时间:2014-06-25 作者:Rooo

我不需要一个帖子类型的Yoast SEO元框,所以我用remove\\u meta\\u box()删除了它。通过使用manage\\u edit-custom\\u post\\u columns取消设置列,删除了post表中不需要的列,但仍保留下拉列表。有没有办法去掉它?

当然,使用jQuery并不是那么难,但也许WP中内置了过滤器或其他东西?

3 个回复
最合适的回答,由SO网友:engelen 整理而成

这些附加下拉列表通过restrict_manage_posts 行动挂钩。这意味着下拉输出不可过滤,但您可以从Yoast SEO中删除挂钩操作。

过滤器下拉列表由posts_filter_dropdown() 中的方法WPSEO_Metabox 班它添加在setup_page_analysis() 同一类的方法,该方法连接到admin_init 优先级为10。

因此,我们希望删除该操作以防止显示下拉列表。要做到这一点,我们只需admin_init 优先级大于10(以确保Yoast SEO已经调用add_action()). Yoast SEO将WPSEO\\u Metabox类实例存储在全局变量中$wpseo_metabox, 因此,我们可以轻松访问它:

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\' ) );
    }
}

SO网友:BenB

Yoast SEO版本更新答案:7.0.2

这将从WordPress admin的帖子列表编辑页面中删除seo分数过滤器和可读性过滤器。

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\' ) );
    }
}
Update 18/03/2020 version 13.3

2个选项当前适用于当前最新版本13.3

Option 1:

如果您正在使用无头CMS或通过自定义端点获取数据,并且不需要CPT为;“公共”;

您可以设置post\\u type$args值"public" => false SEO元字段和列过滤器字段不会出现。

Option 2:

使用过滤器wpseo_accessible_post_types

 function bb_disable_yoast_seo_metabox( $post_types ) {
   unset( $post_types[\'custom_post_type\'] );
   return $post_types;
 }    
 add_filter( \'wpseo_accessible_post_types\', \'bb_disable_yoast_seo_metabox\' );    

SO网友:AmiNimA

您可以将此行添加到上述函数中,以删除可读性下拉列表:

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

结束

相关推荐

WP_DROPDOWN_PAGES默认值

我有一个页面下拉菜单,但在我转到所选页面后,让我们说“关于我们”,dropbown的默认标题按钮是页面的标题,“关于我们”,因此我希望标题/默认选项是“请选择页面”或类似的内容。我的代码是:wp_dropdown_pages(\"title_li=&depth=1&sort_column=menu_order&child_of=\".$post->post_parent.\"&echo=0&selected=$currPage\"); 我做错了什么,