Руководство по условным тегам WordPress: Вступление

Одной из самых важных особенностей WordPress является расширяемость ядра. С помощью плагинов и тем пользователи WordPress уже почти десять лет создают собственные уникальные сайты. (WordPress впервые был представлен в 2003 году, но плагины были введены в 2004 году, а темы появились в 2005).

И для создания надежной инфраструктуры WordPress включает в себя множество вспомогательных подсистем (функций, классов или целых API). Одной из них являются "Условные теги", которые определяют различное действие кода в зависимости от конкретной ситуации.

В этой серии статей мы рассмотрим условные теги. И начнем с их определения и рассмотрения того, почему они настолько важны. А в следующих частях мы рассмотрим сами условные теги с описаниями и конкретными примерами.

Давайте приступим!

Что такое Условные теги?

В Кодексе WordPress дается следующее определение условных тегов:

Условные теги могут использоваться в файлах шаблонов для определения того, что должно отображаться на определенной странице и каким образом, в зависимости от того, каким условиям соответствует эта страница.


Это дает нам общее представление: чтобы ваш код добавлял или изменял контент, используются условные теги, чтобы указать для кода тип, состояние и место размещения контента.

Представьте себе, что код ведет такую беседу с WordPress:
Код: Эй, дружище, мне нужна помощь.
WordPress: Конечно, я весь во внимании. Что тебе нужно?
Код: Я хочу обернуть эти заголовки записей в определенные DIV, но мне нужно знать, выводятся ли они в данный момент на странице архива категории или нет. Они выводятся на странице архива категории?
WordPress: TRUE
Код: Э... Чего?
WordPress: Я имею в виду, да.
Код: Здорово! Спасибо!
WordPress: Всего наилучшего!

Как-то так, в целом. Условные теги - это логические операторы, которые направляют код в нужное русло, когда эти теги встречаются внутри оператора if/else. Они возвращают только значения TRUE или FALSE, и коду нужны только эти два логических значения.

Как использовать условные теги

Хотя условные теги - это довольно важная часть системы WordPress, они удивительно просты в использовании. Так как они возвращают только TRUE или FALSE, вы без лишних проблем можете использовать их внутри оператора if (На самом деле, существуют три отдельных условных тега, которые возвращают FALSE или определенное значение. Мы вернемся к ним в следующих частях, но их вы тоже можете использовать в операторе if.)

Давайте рассмотрим простой пример того, как работает условный тег:

<?php

if ( is_home() ) {

    _e( 'Welcome to my humble blog!', 'translation-domain' );

}

?>

Мы использовали условный тег в операторе if и указали WordPress, что, если это домашняя страница, то должен выводиться текст приветствия.

Давайте рассмотрим еще один пример, с "более чистым" кодом:

<?php

// $author_check это TRUE или FALSE
$author_check = is_author( 'baris-unver' );

if ( $author_check ) {

    _e( 'Barış has some really good tutorials, along with a few cheesy ones!', 'translation-domain' );

}

?>

Мы создали переменную и определили в ней условный тег; таким образом, мы можем использовать переменную в операторе if. Проще простого!

Примеры сценариев для использования условных тегов

Существует множество ситуаций для использования условных тегов. Навскидку, я могу привести пять основных сценариев, в которых они могут использоваться:

  • Представьте себе, что вы разрабатываете плагин социальных кнопок для WordPress и хотите предоставить пользователям возможность вывести или скрыть виджет. Используя is_single(), is_page() и is_singular(), вы можете создать функцию, которая проверяет настройки модуля пользователя и, к примеру, скрывает виджет на страницах, но выводит его для каждой записи;
  • Предположим, что вы разрабатываете тему для небольшой компании. Вы работаете со страницей "Новости" (раздел темы "Блог"). Вы разработали интересный макет для вывода списка записей с миниатюрами ... но вы знаете, что сотрудники компании могут забыть или сознательно не использовать миниатюры для некоторых записей. Вот где нам пригодится has_post_thumbnail(): используйте этот тег и ваша тема будет проверять, содержит ли запись миниатюру, или нужно вывести изображение по умолчанию;
  • Предположим, вы создаете дополнение для популярного плагина WordPress. Вы должны удостовериться, что основной плагин установлен и активирован в данный момент, потому что ваше расширение может вызвать проблемы, если начинающий пользователь инсталлирует его без использования основного плагина. Решение просто: с помощью is_plugin_active(), вы можете отключить свой плагин, а с помощью is_plugin_inactive(), можете вывести предупреждение в панели администрирования;
  • Вы создали тему для клиента, и он хочет загружать рисунки, PDF-документы и ZIP-архивы. Но он также хочет, чтобы в каждой записи выводились только все изображения. Использовав условный тег wp_attachment_is_image(), можно выбрать из всех загруженных файлов только изображения и вывести их в записи;
  • Скажем, вы создаете плагин для блогов с несколькими авторами, и хотите проверить, ведется ли этот блог несколькими авторами или одним. Условный тег is_multi_author() ответит на этот вопрос.

Заключение

Как видите, условные теги являются одной из самых простых в использовании функций WordPress. Но в то же время и одной из самых важных составляющих тем и плагинов.

Цель этой серии статей заключается в том, чтобы дать представление об условных тегах. В ближайших пяти статьях мы рассмотрим 65 различных условных тегов: с описаниями, примерами использования некоторых из них.

Продолжение в следующей части!

РедакцияПеревод статьи «A Walkthrough on Conditional Tags in WordPress Introduction»