Довольно распространенный ступор при разработке темы для WordPress, как пользоваться конструктором условий if else, как правильно их задать и как их вообще использовать в WordPress. Чтобы миллионы пользователей не сходили с ума в поисках решений, WordPress, так сказать, создал условные теги о использовании которых сегодня пойдет речь.
Стандартная конструкция условия выглядит следующим образом:
<?php if(условие) :
echo ‘good’;
else
echo ‘bad’;
endif; ?>
С одной стороны все понятно, а с другой стоит вопрос как правильно сформулировать условие, чтобы WordPress понял, то чего мы от него хотим.
- Главная страниц
Часто хотим, чтобы определенная информация выводилась только на главной странице. Для решения можно создать в папке Вашей темы файл home.php или в файл index.php внести следующее условие:<?php if(is_home()) { ?><div>
….Здесь выводим информацию,
которую мы хотим видеть на главной странице</div>
<?php } ?>
- Проверяем рубрики
Зададим такое условие: Если мы находимся в рубрике WordPress, то выведем фразу «Вас приветствует, WordPress!», а если нет то фразу «Добро пожаловать, на наш сайт!»<?php if(is_category(‘id’)) :echo «Вас приветствует, WordPress!»;
else :
echo «Добро пожаловать, на наш сайт!»;
endif;
?>
/*Можно и такой схемой*/
<?php if(is_category(‘id’)) { ?>
<p>»Вас приветствует, WordPress!»</p>
<?php else { ?>
<p>Добро пожаловать, на наш сайт!»</p>
<?php } ?>
Здесь и дальше в качестве идентификатора рубрики(метки) или записи(страницы) я буду использовать id — его можно узнать в панели управления сайтом. Если Вы пишете условия для рубрик(меток) то смотрите id на странице рубрик(меток), а если записей(страниц) — то на странице всех записей(страниц)… паника). Как все-таки узнать?, — смотрите иллюстрацию:
Идем далее по условиям связанных с рубриками и зададим следующее: «Если запись находится в рубрике WordPress, то вывести слова — Статья из рубрики WordPress»:
<?php if(in_category(‘id’)) :
echo ‘Статья из рубрики WordPress’;
endif; ?>
И еще такой финт ( данный пример очень редкий в других источниках), допустим нам нужно условие для проверки нескольких рубрик, тогда условия будут иметь вид:
<?php if(is_category(array(1,2,34,48)) or in_category(array(1,2,33,50))) : ?>
<p>выведем то, что нам нужно</p>
<?php endif; ?>
(еще свежо в памяти , когда мы не знали, чтобы работала данная конструкция необходимо указать array)
- Проверяем метки
Метки — крутой классификатор внутри рубрик. Рассмотри несколько примеров, как их можно проверить.
Задача: Если запись имеет метку «plugin», то вывести фразу — WordPress Plugin
Решение:
<?php if(has_tag(‘plugin’)) :
echo ‘WordPress Plugin’;
endif; ?>
Задача: Если находимся на странице метки «plugin», то вывести фразу — Коллекция плагинов WordPress.
Решение:
<?php if(is_tag(‘plugin’)) :
echo ‘WordPress Plugin’;
endif; ?>
Вот вкратце по этому вопросу. ( при подготовке статьи использован материал сайта http://www.howtomake.com.ua/)