删除Yoast SEO帖子Metabox

时间:2012-08-21 作者:Tom J Nowell

Yoasts SEO插件在后期编辑屏幕中添加了一个元框。我正在尝试为非编辑或更高级别的用户删除此项。

我试着把remove_meta_box 在admin\\u init上调用,尝试删除$wpseo\\u metabox上的操作,但没有效果。

如何在不需要用户干预的情况下删除此元数据库(用户永远不会知道该元数据库存在,因此单击屏幕选项不是一个选项)

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

在…上remove_meta_box 是一个注释:

由于在添加元框之前无法删除它,因此务必确保按正确的顺序调用remove\\u meta\\u box()。

WordPress SEO在上添加元框add_meta_boxes 默认优先级为10的操作,在admin_init, 这样就不会移除它们。相反,你需要add_meta_boxes, 但优先级较低-11、12等。

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

SO网友:Amsbundem

删除非管理员帐户的元数据库:

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

结束

相关推荐

无法使用wp_EDITOR()从WPAlChemy metabox获取<p>标记

我正在一个项目中使用WPAlchemy。对于一个模板,我需要使用一个自定义的metabox,它可以很好地与tinyMCE编辑器配合使用。在模板上插入元框的代码(这是https://github.com/helgatheviking/WP-Alchemy-Holy-Grail-Theme/ 因为我在一次Loooog搜索后最终尝试了它,但是macache。<div class=\"my_meta_control metabox\"> <p> <?php $mb-&