本文是对用户权限又一次尝试,WordPress 默认的角色(订阅者,投稿者,作者,编辑,管理员)有时候并不是我们的站点需要,这时候就需要自己 DIY 站点角色
WordPress 添加新的角色
将下列代码放置到主题模板函数 functions.php 中,就可以添加一个名为 VIP的用户角色。
add_role(‘vip’, ‘VIP会员’, array( ‘read’ => true, // 阅读权限
‘edit_posts’ => true, // 编辑权限
‘delete_posts’ => false, // 删除权限 ));
WordPress 文章隐藏内容仅限 VIP 用户阅读
1,将下列代码放置到主题模板函数 functions.php 中:
// 限定角色访问权限
function vip_shortcode( $atts, $content = null ) {
if ( is_user_logged_in() && (current_user_can(‘vip‘)||current_user_can(‘manage_options’)) && !is_null( $content ) && !is_feed())
return $content;
return ”;
}
add_shortcode( ‘vip’, ‘vip_shortcode’ );
vip即为添加的自定义角色
2,文章编写隐藏内容
[@vip]VIP 用户可见内容[/@vip] // 去除掉@
下面的情况同样适用于本文自定义角色的应用:
WordPress 技巧:特定角色的搜索结果包含私密文章
WordPress默认情况下,在搜索结果中是不包含加密文章的。本文可以指定角色(role),比方订阅者、编辑、作者等,在其搜索结果中包含私密文章。
将下列代码放置到主题模板functions.php函数闭合中:
// 指定角色登陆后的搜索结果包含私密文章
function include_password_posts_in_search( $query ) {
if ( !is_admin() && $query->is_main_query() ) {
if( is_user_logged_in() && (current_user_can(‘customrole‘)||current_user_can(‘manage_options’)) && is_search() ) {
$query->set( ‘post_status’, array ( ‘publish’, ‘private’ ) );
}
}
}
add_action( ‘pre_get_posts’, ‘include_password_posts_in_search’ );
customrole:修改角色。
WordPress技巧:允许订阅者(subscriber)访问私密文章
在默认的情况下,只有管理员和文章的作者可以访问 WordPress 私密文章。可是有时候我们的私密文章也想让我们的家人,朋友,或者公司同一个 team 成员访问的,可以用插件 WP JV Post Reading Groups来完成。
新建角色 role 配合下面的方法同样可以实现。将下列代码放置到主题模板函数 functions.php 闭合中:
//允许订阅者访问私密文章
function add_theme_caps() {
$subRole = get_role( ‘subscriber’ );
$subRole->add_cap( ‘read_private_posts’ );
$subRole->add_cap( ‘read_private_pages’ );
}
add_action( ‘admin_init’, ‘add_theme_caps’ );
//移除、修改标题前的”私密”和”密码保护”
add_filter( ‘private_title_format’, ‘wp_private_title_format’ );
add_filter( ‘protected_title_format’, ‘wp_private_title_format’ );
function wp_private_title_format( $format ) {
return ‘%s’;
}
免责声明: 本网站所发布的一切资源均来自于会员发布以及互联网收集,不代表本站立场,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则一切后果请用户自负;依据WordPress GPL开源许可协议分享,如有侵犯到您的权益,请联系我们。