首先,我必须说,私人帖子已经满足了你的需求,因为具有适当功能的登录用户将在主页、档案、搜索等中看到帖子。
适当的能力是\'read_private_posts\'.
默认情况下,此cap分配给管理员和编辑器。因此,您的“成员”用户应该拥有这两个角色中的一个,或者您可以将该功能分配给不同的角色。
实际上,您可以使用将其添加到标准角色中add_cap()
也可以注册自定义角色(请参见here) 并将要分配给成员的功能分配给该角色。
也就是说,要自定义metabox在post admin页面中的显示方式(删除密码保护选项,重命名“Private”选项…)最有力的方法是
创建一个输出自定义元数据库的函数。创建一个新函数,将其命名为custom_post_submit_meta_box()
, 从核心复制内容post_submit_meta_box()
并修改所需内容移除标准元数据库并添加自定义元数据库:
add_action( \'dbx_post_advanced\', function( $post ) {
// only for \'post\' post type
if ( $post->post_type !== \'post\' ) return;
// remove the standard
remove_meta_box( \'submitdiv\', \'post\', \'side\' );
// add the custom
add_meta_box(
\'custom_submitdiv\',
__( \'Publish\' ),
\'custom_post_submit_meta_box\', // the name of your custom function
\'post\',
\'side\',
\'core\'
);
});