将插件Metabox添加到贡献者的帖子中

时间:2016-08-27 作者:MMTDesigner

我正在尝试为贡献者启用slug Metabox。找到一个代码来删除slug Metabox,尝试以解决我的问题的方式对其进行更改,但什么也没发生。

function add_contributor_post_meta_box() {
    global $post;
    if ( current_user_can( \'edit_post\', $post->ID )) {
    add_meta_box(\'slugdiv\', \'post\', \'normal\');
    }
   }
add_action(\'admin_menu\', \'add_contributor_post_meta_box\');
有人能帮助解决这个问题吗
我的主要问题来自,当投稿人发送帖子并输入标题和永久链接,在发送后进行审阅,永久链接会自动更改为主标题,我不希望发生这种情况,还需要知道如何解决此问题有何帮助?

1 个回复
SO网友:Ethan O\'Sullivan

我通过使用remove_meta_box() 如果用户不是administratorcontributor:

add_action( \'admin_menu\', \'wpse_237291_remove_slug_metabox\' );
function wpse_237291_remove_slug_metabox() {
    $user = wp_get_current_user();
    $allowed_roles = array( \'administrator\', \'contributor\' );

    if ( !array_intersect( $allowed_roles, $user -> roles ) ) {
        remove_meta_box( \'slugdiv\', \'post\', \'normal\' );
    }
}

相关推荐

如何在前端检索分类Metabox字段

我有一个自定义分类法,其中包含正在使用CMB2填充的自定义字段。我似乎不明白为什么我无法在前端填充此信息。下面是在名为Placement的自定义分类法上生成自定义字段的代码。 add_action( \'cmb2_admin_init\', \'placement_register_taxonomy_metabox\' ); function placement_register_taxonomy_metabox() { $prefix = \'placement_\