发布审批时更改用户角色

时间:2014-10-02 作者:EndyVelvet

我有两个角色。

A: 用户发送帖子进行审核

B: 用户无需调节即可发布帖子

对于新用户,角色是A。如果我批准了他的第一篇帖子,该怎么办?角色将更改为B?

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

当post状态从“挂起”更改为“已发布”时,可以附加代码以更改角色请参见文档:http://codex.wordpress.org/Post_Status_Transitions 然后,如果用户具有角色“contributor”,则可以将其更改为“author”:

    add_action( \'pending_to_publish\'. \'my_function\', 10, 1 );
    function my_function( $post )
    {
        $wp_user_object = new WP_User( $post->post_author );
        if ( in_array(\'contributor\', $wp_user_object->roles ) ) {
            $wp_user_object->remove_role( \'contributor\' );
            $wp_user_object->add_role( \'author\' );
        }
    }

SO网友:Diogo Gomes

Codex Post_Status_Transitions 您在post状态更改上有挂钩:

function on_publish_pending_post( $post ) {
    // A function to perform when a pending post is published.
}
add_action(  \'pending_to_publish\',  \'on_publish_pending_post\', 10, 1 );
您可以访问$post变量。所以你必须提取作者id,改变他的角色。。。

干杯

结束

相关推荐

Show posts without term

我在一个产品页面上工作,如果产品页面标题与我在分类法“review product”中的术语相匹配,我将显示来自我的帖子类型“reviews”的评论。Example.产品页面标题:Refrigerator显示(审阅)带有以下内容的帖子:帖子类型:“评论”分类:“评论产品”术语:Refrigerator这完全可以。但有时我没有对产品的评论(因为产品名称和术语不匹配),然后我想显示“一般”评论。在我的网站中,这些帖子包含:帖子类型:“评论”分类:“评论产品”术语:No term (!!!)这篇文章没有分类法中