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(8)) {
    if (!current_user_can('mio-gruppo') || !user_can('administrator')) {
        echo 'you can not pass';
        }
    } else {
        echo 'you pass';
    }
?>

しかし、2 つの条件文が競合します。両方を別々に試してみると、うまくいきます

4

2 に答える 2

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';
        }
    }
?>
于 2013-11-04T15:15:03.567 に答える
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'; 
} 
?> 
于 2013-11-04T16:26:44.837 に答える