«Если б я был султан» — Условные теги WordPress
Что это такое?
Довольно часто при создании какого-нибудь нового сайта приходится сталкиваться с необходимостью использовать так называемые «условные теги WordPress». Для тех, кто не знает, что это объясню на человеческом языке, здесь всё довольно просто.
Условные теги – это такие php-конструкции в шаблоне вашей темы, с помощью которых задается, что произойдет какое-то определенное действие, если будет выполняться заданное условие. Или еще проще можно объяснить на примере:
«Если это страница «Портфолио», то в верхнем меню появится ссылка «Нужен сайт?».
Именно с помощью такой конструкции это реализовано на моем сайте, можете сами посмотреть.
Так вот данную конструкцию моя память все никак не хочет записать себе, постоянно приходится искать либо в кодексе WordPress, либо на ранее сделанных сайтах. Поэтому было решено внести это в свои заметки по сайтостроению, чтобы всегда было под рукой, собственно, для этого и был создан данный раздел в первую очередь.
Как сделать?
Довольно предисловий. Теперь кратко и по существу. Буду показывать как раз на данном примере моего сайта, чтобы сразу был виден результат.
Нам необходимо, чтобы на странице «Портфолио», появлялась ссылка «Нужен сайт?», а затем наоборот.
Для этого идем в файл header.php (так как в моем шаблоне именно там находится верхнее меню), находим нужное нам место и вставляем следующий код:
1 2 3 4 5 | <?php if (is_page( 'portfolio' )) {?> <a href="<?php bloginfo('url'); ?>/uslugi/">Нужен сайт?</a> <?php } elseif (is_page( 'uslugi' )) { ?> <a href="<?php bloginfo('url'); ?>/portfolio/">Портфолио</a> <?php } ?> |
В общем и целом, уже по этому коду все достаточно легко и понятно. Если (if) страница Портфолио (portfolio), то показываем ссылку «Нужен сайт?». Если (elseif) страница «Услуги» (uslugi), то показываем ссылку на портфолио.
Если нам необходимо будет написать что-нибудь другое, если ни то, ни другое условие не выполняется, то мы добавляем еще небольшой участок кода, который будет показываться всегда, если это ни та, ни другая страницы.
1 2 3 4 5 6 7 | <?php if (is_page( 'portfolio' )) {?> <a href="<?php bloginfo('url'); ?>/uslugi/">Нужен сайт?</a> <?php } elseif (is_page( 'uslugi' )) { ?> <a href="<?php bloginfo('url'); ?>/portfolio/">Портфолио</a> <?php } else { ?> Добавляем этот код с else, и вот на месте этого текста пишем то, что будет нужно <?php } ?> |
Условные теги с id страницы
Вместо названий страниц можно использовать их id. Посмотреть их довольно легко, но не так просто, как могло бы быть чисто теоретически. Чтобы узнать id нужной страницы, идем в свою административную панель, заходим в раздел страницы и наводим мышкой на необходимую нам. Внизу в браузере у вас появится ссылка к редактированию данной страницы, а там будет id этой страницы. На скриншоте id страницы «Портфолио» — равен 217.
Поэтому, чтобы не писать ‘portfolio’ в условном теге, можно написать в скобочках вместо слова число ‘217’. Такая конструкция тоже будет прекрасно работать.
Какие условия могут быть?
Теперь, когда мы поняли основной принцип данного метода, можно немного расширить познания. Кроме страниц, в условия этих тегов можно записывать практически что угодно. Можно ставить условие, «если это главная страница», «если это пост с id ???», «если эта запись находится в такой-то категории».
Приводить полный список подобных условий, думаю, бессмысленно, на сайте wp-kama это было сделано задолго до меня, поэтому копируйте ссылку, смотрите полный список тегов: wp-kama.ru/function-cat/uslovnyie-tegi
Если у вас возникнут какие-то вопросы, пишите в комментариях или любым удобным вам способом через страницу «Контакты». Постараюсь ответить вам на все вопросы.