Authors should not publish

时间:2015-05-11 作者:user3497759

在我的博客中,作者不应该被允许发布帖子,而是可以创建帖子进行修改!管理员应该稍后验证并发布它们。我该怎么做?

谢谢你的帮助!

1 个回复
SO网友:kenno

您描述的角色是“贡献者”。因此,除非您仍想编辑作者功能,否则可以选择使用此角色,具体操作如下:

    function disable_authors_publish_cap() {
        // Get author role object
        $author = get_role( \'author\' );
        // Remove the post publishing capability
        $author->remove_cap( \'publish_posts\' );
    }
    add_action( \'init\', \'disable_authors_publish_cap\' );
此外,如果您希望作者和贡献者具有完全相同的功能,那么还有一些功能需要“删除”:

    function disable_authors_caps() {
        // Get author role object
        $author = get_role( \'author\' );

        // List the author vs contributor capabilities
        $caps = array(
            \'edit_published_posts\',
            \'upload_files\',
            \'publish_posts\',
            \'delete_published_posts\'
        );

        foreach ( $caps as $cap ) {
            // Remove the capability.
            $author->remove_cap( $cap );
        }
    }
    add_action( \'init\', \'disable_authors_caps\' );
祝你好运!

结束

相关推荐

在PUBLISH_PAGE操作期间高级自定义字段尚不可用

我有一个与publish\\u page操作关联的函数,我使用该函数在网站上创建多个页面。此功能在一段时间内运行良好,但在最近的更新后停止正常运行。不幸的是,我当时没有注意到它,客户端也没有,所以我不确定到底是哪个更新杀死了它。问题是,如果我尝试使用传递到函数中的post id获取页面自定义字段,它们还没有保存到数据库中。例如:function tk_publish_pub($post_id) { if (defined(\'DOING_AUTOSAVE\') && DO