用户角色简码
User Roles Shortcode
我正在使用以下代码创建简码并检查用户角色:
function check_user_role( $atts, $content = null ) {
extract( shortcode_atts( array(
'role' => 'role' ), $atts ) );
if( current_user_can( $role ) ) {
return $content;
}
}
add_shortcode( 'user_role', 'check_user_role' );
然后添加以下短代码以仅向所选角色显示内容 - 在本例中为 'subscriber'
[user_role role="subscriber"]content[/user_role]
效果很好,但现在我想在简码中添加 'author' 以将内容显示到 'subscribers' 和 'authors'
我试过显而易见的方法:
[user_role role="subscriber, author"]content[/user_role]
但这似乎不起作用。
我需要修改它自己的功能吗?
你必须尝试一下,以获得更多帮助
https://wordpress.stackexchange.com/questions/131814/if-current-user-is-admin-or-editor
function check_user_role( $atts, $content = null ) {
extract( shortcode_atts( array(
'role' => 'role' ), $atts ) );
$user = wp_get_current_user();
$roles = explode(',', $user);
$allowed_roles = array($roles);
if( array_intersect($allowed_roles, $user->roles ) ) {
return $content;
}
}
add_shortcode( 'user_role', 'check_user_role' );
对我来说,有效的代码如下:
function check_user_role( $atts, $content = null ) {
extract( shortcode_atts( array(
'role' => 'role' ), $atts ) );
$user = wp_get_current_user();
$allowed_roles = explode(',', $role);
if( array_intersect($allowed_roles, $user->roles ) ) {
return $content;
}
}
add_shortcode( 'user_role', 'check_user_role' );
我在 Snippets plugin.
的新代码段中添加了这段代码
我正在使用以下代码创建简码并检查用户角色:
function check_user_role( $atts, $content = null ) {
extract( shortcode_atts( array(
'role' => 'role' ), $atts ) );
if( current_user_can( $role ) ) {
return $content;
}
}
add_shortcode( 'user_role', 'check_user_role' );
然后添加以下短代码以仅向所选角色显示内容 - 在本例中为 'subscriber'
[user_role role="subscriber"]content[/user_role]
效果很好,但现在我想在简码中添加 'author' 以将内容显示到 'subscribers' 和 'authors'
我试过显而易见的方法:
[user_role role="subscriber, author"]content[/user_role]
但这似乎不起作用。
我需要修改它自己的功能吗?
你必须尝试一下,以获得更多帮助
https://wordpress.stackexchange.com/questions/131814/if-current-user-is-admin-or-editor
function check_user_role( $atts, $content = null ) {
extract( shortcode_atts( array(
'role' => 'role' ), $atts ) );
$user = wp_get_current_user();
$roles = explode(',', $user);
$allowed_roles = array($roles);
if( array_intersect($allowed_roles, $user->roles ) ) {
return $content;
}
}
add_shortcode( 'user_role', 'check_user_role' );
对我来说,有效的代码如下:
function check_user_role( $atts, $content = null ) {
extract( shortcode_atts( array(
'role' => 'role' ), $atts ) );
$user = wp_get_current_user();
$allowed_roles = explode(',', $role);
if( array_intersect($allowed_roles, $user->roles ) ) {
return $content;
}
}
add_shortcode( 'user_role', 'check_user_role' );
我在 Snippets plugin.
的新代码段中添加了这段代码