对于具有用户特定内容的客户项目,我有一个(希望很小)问题。我需要一个函数将".user-role { display: none !important; }"
添加到inline-css中,以确保特定的用户角色无法看到特定的html对象。因此,如果用户角色为“abc-user”,则必须为".abc-user { display: none !important; }"
这可能还是有更好的解决方案来解决这个问题?由于网站与视觉作曲家合作(不幸的是),使用短代码几乎是不可能的,因为用户看不到完整的行。
我期待着你的回答! :)
来自德国的问候, 最大
答案 0 :(得分:1)
在functions.php中使用此代码
add_action('wp_head', 'hidingCss');
function hidingCss() {
if (is_user_logged_in()) {
$user = wp_get_current_user();
$role = (array) $user->roles;
//csss-class means user roles
if($role[0] == 'CSS-Class'){
//.abc-user is a class which you are targeting for hide any element
echo '<style>.abc-user { display: none !important; }</style>';
}
} else {
return true;
}
}
答案 1 :(得分:1)
我为可能感兴趣的任何人找到了以下解决方案。 谢谢@Aki的帮助!
add_action('wp_head', 'hidingCss');
function hidingCss() {
if (is_user_logged_in()) {
$user = wp_get_current_user();
$role = (array) $user->roles;
{
//.abc-user is a class which you are targeting for hide any element
echo '<style>.'.$role[0].' { display: none !important; }</style>';
}
} else {
return true;
}
}
答案 2 :(得分:0)
在这里检查角色可能是理想的解决方案,但通常情况下,检查能力是有利的。它提供了一种更简单,更强大的方法来管理用户在网站上可以做或不能做的事情。
如果我们只希望一个角色可以使用或看到功能,则绝对可以使用上面介绍的两种解决方案。但是,如果您需要所有具有特定功能的用户-例如,能够上传文件(包括角色:作者,编辑者和管理员),则可以尝试使用类似的方法。
function hidingCss() {
if (is_user_logged_in() && current_user_can('upload_files')) {
echo '<style>.abc-user { display: none !important; }</style>';
}
}
add_action('wp_head', 'hidingCss');`
通过这种方式,每个具有upload_files功能的角色都会在标头中回显此css,而不是单个角色。
显然,我们可以使用自己的功能来创建自己的角色,以进一步扩展并使其更强大。