Одна из сильных отличительных сторон WordPress — это расширяемость его ядра. WordPress включает целый ряд полезных подсистем (функции, классы, API), одной из которых являются условные теги (Conditional Tags). С их помощью код может функционировать по-разному в различных ситуациях.

И сегодня мы познакомимся с тем, что же такое условные теги в WordPress и почему они так важны.

Смотрите также:

Итак.

Что представляют собой условные теги?

Согласно WordPress Codex:

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

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

Представьте разговор межу WordPress и условным кодом:

Код: Эй, чувак! Мне нужна помощь!
WordPress: Что там у тебя?
Код: Хочу обернуть заголовки вот этих записей с помощью тега DIV, но мне нужно знать, они находятся на архивной странице или нет?
WordPress: TRUE
Код: Эмм…Что?
WordPress: Да, говорю!
Код: Отлично, спасибо!

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

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

Условные теги довольно просто использовать на WordPress и так как они принимают только TRUE и FALSE, их можно использовать в операторе if. Вот пример того, как они работают:

<?php
 
if ( is_home() ) {
 
    _e( 'Welcome to my humble blog!', 'translation-domain' );
 
}
 
?>

Мы использовали условный тег для оператора и сказали WordPress, что если он находится на стартовой странице, то эта часть кода отобразит приветственный текст. is_home() - это условный тег. Правда, просто?

А вот еще один пример:

<?php
 
// $author_check is TRUE or 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.

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

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

  1. Представьте, что вы разрабатываете плагин для социального шеринга для WordPress и хотите сделать функцию, чтобы скрыть/показать виджет в записи и на странице. С помощью комбинации is_single()is_page() и is_singular() вы создадите функцию, которая проверяет настройки плагина и, скажем, скрывает виджет на страницах, но показывает их в каждой записи.
  2. Допустим, вы разрабатываете тему для маленькой компании и работаете над созданием страницы «Новости», используя миниатюры. Но вы знаете, что в некоторых записях они отображаться не будут. В этом случае пригодятся has_post_thumbnail(). Если вы используете их, то создаваемая вами тема проверит, что в записи нет миниатюры, и выведет изображение по умолчанию.
  3. Предположим, вы создаете дополнение к уже существующему популярному плагину WordPress. Вам нужно проверить, что основной плагин установлен и используется. Потому что с вашим плагином могут возникнуть проблемы, если его будет устанавливать новичок без основного плагина. Решение простое: с помощью is_plugin_active() можно деактивировать функциональность вашего дополнительного плагина, а используя is_plugin_inactive() — отобразить предупреждение в админке.
  4. Вы создали тему для другого клиента, который хочет загружать в записи изображения, PDF-документы, ZIP-архивы и при этом отобразить все сразу в каждой записи. В этом поможет условный тег wp_attachment_is_image().
  5. К примеру, вы разрабатываете плагин для мультиавторских блогов и хотите узнать, что у сайта более одного автора. Это можно сделать с помощью is_multi_author().

Заключение

Как видите, условные теги довольно просто использовать, при этом они играют практически основную роль в разработке тем и плагинов WordPress.

Источник: code.tutsplus.com

Вам понравился материал?

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

1 комментарий

по хронологии
по рейтингу сначала новые по хронологии

Понравился диалог между кодом и WP)))