我试图只允许特定成员的用户和管理访问某些内容。使用以下代码,当我以管理员身份登录时,我无法查看内容:
<?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';
}
?>
但是这两个条件语句是冲突的。如果我分别尝试两者可以正常工作
我想它应该是&&
而不是||
:
<?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';
}
}
?>
这是我需要的:
<?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';
}
?>