自定义发布类型仅显示用户创建的项目

时间:2015-05-29 作者:George

我使用以下教程注册了一个新的帖子类型,并将自定义角色限制为该帖子类型:

http://3.7designs.co/blog/2014/08/restricting-access-to-custom-post-types-using-roles-in-wordpress/

我需要如何使用我的功能才能让用户角色只能查看他们自己创建的[自定义帖子类型]项目,而不能查看其他人创建的项目?

我还计划创建另一个用户角色,可以查看任何人创建的项目。

1 个回复
SO网友:George

我没有自己设计这个功能,也没有重新发明轮子,而是使用了内置的功能,让帖子变得“私有”。

通过使用这个,我不得不强制所有帖子都是私有的,我使用wp_insert_post_data 过滤器:

add_filter(\'wp_insert_post_data\', array($this, \'post_data_save\'), 10, 2);
我的方法是:

public function post_data_save($post){
    if($post[\'post_type\'] == \'my_custom_post_type\'){
        switch($post[\'post_status\']){
            case \'publish\': $post[\'post_status\'] = \'private\'; break;
        }
    }
    return $post;
}

结束

相关推荐