[Помогите] Только для мемберов (php / в коде) не плагин

Тема в разделе "Wordpress", создана пользователем pochenok, 22 май 2011.

Статус темы:
Закрыта.
Модераторы: DzSoft, Sorcus
  1. pochenok

    pochenok

    Регистр.:
    27 ноя 2008
    Сообщения:
    175
    Симпатии:
    59
    PHP:
    <?php
        
    if ( is_user_logged_in() ) {
            
    the_content();
        }
        else {
            echo 
    "You are not logged in.\n";
    }
    ?>
    Есть такой код. Мне нужно вставить следующее, чтобы отображалось, когда пользовтель залогинен на сайте.

    PHP:
    <?php if(get_field('depositfiles') != ""): ?>
    html fignya
    <?php endif; ?>
    Задач супер легкая, но я синтаксиса не знаю, поэтому прошу помочь. Как засунуть последнее внутрь первого кода.
     
  2. ws256

    ws256

    Регистр.:
    15 июл 2009
    Сообщения:
    259
    Симпатии:
    63
    PHP:
    <?php if (current_user_can('level_3')){ ?>

    тут что угодно

    <?php }?>
    level_7 - редактор и выше
    level_1-3 - участник подписчик

    Очень хороший код для отображения инфы по группам пользователей. залогинен - значит пользователь подписчик, все зависит от вашей иерархии. Я например вывожу так контактную информацию каждого пользователя, и для редакторов отдельною инфу.
     
  3. pochenok

    pochenok

    Регистр.:
    27 ноя 2008
    Сообщения:
    175
    Симпатии:
    59
    PHP:
    <?php if (current_user_can('level_3')){ ?> 

    <?php if(get_field('depositfiles') != ""): ?> 
    html fignya 
    <?php endif; ?>

    <?php }?>
    т.е. так будет правильно? всмысле синтаксис? у меня с этим проблема.
     
  4. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    Да, но лучше немного вырезать кода:

    PHP:
    <?php if((get_field('depositfiles') != "") && (current_user_can('level_3')): ?>  
    html fignya  
    <?php endif; ?> 
     
  5. pochenok

    pochenok

    Регистр.:
    27 ноя 2008
    Сообщения:
    175
    Симпатии:
    59
    В этом коде логика такая?

    Если пользователь залогинен и поле депозит не пустое - то отображать и наоборот.

    А если поле не пустое, но пользовтель не залогинен?

    && - это, что означает?

    Как добавить сообщение. Если не залогинен, то отображается "чтобы увидеть линки надо залогиниться"
     
  6. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    Элементарная, времен Аристотеля. && - логическое И(and), если оба условия истинны - будет выполняться код в блоке if.
    Вы это где-то раньше написали(я и изза этого и сократил код)? Для этого уже нужно одно условие вставить в другое и для первого поставить вывод в блоке else.
    PHP:
    <?php if (current_user_can('level_3')){
    if(
    get_field('depositfiles') != "") { ?>
    html fignya  
    <?php }} else {?>
    user not logged in 
    <?php }?>
     
Статус темы:
Закрыта.