我正在尝试仅允许特定成员的用户和管理访问某些内容。 使用以下代码,当我以管理员身份登录时,我无法查看内容:
<?php
if (is_category(4)) {
if (!current_user_can('my-group') || !current_user_can('add_users')) {
echo '<h1 class="entry-title">You can not access</h1><p>This content is only for Administrator and group\'s members.</p>';
}
} else {
?>
我也单独尝试了每个条件,但作为管理员,我无法查看内容。
我尝试了这个示例代码:
<?php if (is_category(8)) {
if (!current_user_can('mio-gruppo') || !user_can('administrator')) {
echo 'you can not pass';
}
} else {
echo 'you pass';
}
?>
但这两个条件陈述发生冲突。如果我尝试两个单独工作正确
答案 0 :(得分:0)
我想它应该是&&
而不是||
:
<?php
if (is_category(4)) {
if (!current_user_can('my-group') && !current_user_can('add_users')) {
echo '<h1 class="entry-title">You can not access</h1><p>This content is only for Administrator and group\'s members.</p>';
}
} else {
?>
或者反过来说:
<?php
if (is_category(4)) {
if (current_user_can('my-group') || current_user_can('add_users')) {
echo 'access granted';
} else {
echo 'no access';
}
}
?>
答案 1 :(得分:0)
这就是我需要的:
<?php
if (is_category(8) && (current_user_can(array(1,2,3,4,5,6,7)) || !is_user_logged_in())) {
if (!current_user_can('mio-gruppo')) {
echo 'you can not pass';
}
} else {
echo ' you can pass';
}
?>