Просмотрев исходный код любой темы WordPress вы не найдете там тех данных которые отображаются в браузере. А увидите лишь массу непонятных символов, слов и закорючек, которые созданы для формирования доступного и понятного общему глазу внешнего вида. Что бы для вас обрели смысл все непонятные вам слова окунемся немного глубже в структуру и построение шаблонов с помощью зарезервированных тегов WordPress.
Разнообразие тегов шаблонов WordPress позволяет руководить огромным количеством информации, размещая ее в нужных местах. Но что же такое эти самые теги шаблонов WordPress? Об этом и многом другом поговорим в данной статье.
Что такое тег шаблона WordPress?
Тег шаблона WordPress — это код, позволяющий осуществить определенные действия внутри WordPress. Это могут быть команды “Что-нибудь сделать” или “Вывести определенную информацию на экран”, “Отфильтровать данные” и многое другое.
Рассмотрим использование тегов шаблона на примере часто используемого тега bloginfo (), который бы рассмотрим более подробно в другой статье.
<h1><?php bloginfo('name'); ?></h1>
В данном примере используется тег шаблона bloginfo () внутри тега h1. Данная интерпретации выведет название сайта, указанное в настройках административной панели WordPress. Найти данную графу можно перейдя с админки в пункт меню Настройки/Общее. Таким образом мы добыли нужную нам информацию используя небольшой код, представленный тегом шаблона bloginfo ().
Параметры тэга шаблона
Практически каждый тег шаблона имеет набор своих собственных параметров, при использовании которых мы будем получать тот или иной результат. К примеру bloginfo () имеет более 20 параметров, используя их мы легко добудем нужную нам информацию с базы данных.
В рамках данной публикации мы не будем рассматривать все теги и их параметры, ведь это займет огромное количество времени, да и смысла в этом я не вижу. Периодически мы будем публиковать статьи о тегах шаблонов, найти которые вы сможете в списке уроков WordPress.
Как можно использовать Тэги шаблонов?
Просмотрев множество доступных тэгов шаблона в Кодексе WordPress.org вы сможете убедиться в том что большее количество из них довольно просты в использовании, но существуют и такие для применения которых понадобятся специальные знания. Далее мы приведем несколько примеров использования популярных тэгов шаблона, без которых не обойдется никакая тема WordPress.
Рассматривая тэг bloginfo () мы увидели что он принимает лишь один параметр, в зависимости от которого будет выведена та или иная информация. В противовес ему существуют другие тэги шаблона, способные принимать не один, а сразу несколько параметров, что значительно увеличивает круг их применения.
Для наглядного примера используем тэг шаблона the_title () — отображающий заголовок записи. Данный тэг используется повсеместно, по этому описание его в действии может быть полезно.
Итак, тэг шаблона the_title () по умолчанию имеет следующий вид:
<?php the_title(); ?>
Результат вывода данного тэга может быть примерно таковым:
Использовав этот тэг по умолчанию вы просто выведете заголовок, а что делать ели вам требуется выделить каким то образом его? Для этого тэг шаблона the_title () имеет несколько параметров:
<?php the_title('before', 'after', display); ?>
Параметр “before” указывает на то что будет выводиться перед заголовком, это может быть html тэг (например h1), символ или же любая строчка указанная вами. “After” выводит указанное в параметре значение после заголовка. Параметр “display” — это и есть заголовок записи, его можно не указывать, он будет выводиться автоматически.
Для примера давайте выведем следующий вариант:
<?php the_title('<h1>; ', '</h1>;'); ?>
В данном случае наш заголовок будет заключен в html тэг h1 — заголовок первого уровня.Теперь, давайте пойдем немного дальше, и вставим что-нибудь после заголовка записи.
Этот же вариант можно было сделать и по другому:
<h1><?php the_title(); ?></h1>
При этом разницы в документе не будет абсолютно никакой.
Нужно помнить о том, что не все теги шаблонов могут принимать параметры “before” и “after”, проверить доступные параметры различных тэгов можно в Кодексе WordPress по ссылке, которую мы указывали ранее
Логические тэги шаблонов
Приведенные примеры использования тэгов bloginfo () и the_title () показывают как выводить отдельные данные, с добавлением статических параметров, но что же делать если нам нужно вывести более одного параметра вместе. Для этих целей используются логические тэги шаблонов.
Одним из логических разграничителей параметров, который вы будете использовать, будет & (and).
Для примера возьмем тэг шаблона wp_list_cats (), обычно используемый в сайт барах WordPress. Данный тэг выведет все рубрики сайта, которые были или будут созданы.
Синтаксис тега таков:
<?php wp_list_cats(); ?>
Параметры которые использует тэг шаблона wp_list_cats():
Параметр | Описание |
all | Отображает все Рубрики |
sort_column | Сортировка по ID Рубрики |
sort_order | Сортировка по возрастанию |
list | Вставляет Рубрики в маркированный список (<ul><li>) |
optioncount | Не отображает количество записей в каждой Рубрике |
hide_empty | Основывается на значении первого параметра (optionall или all), скрывает Рубрики без записей |
use_desc_for_title | Использование описания Рубрики в качестве заголовка ссылки |
children | Отображает дочерние Рубрики каждой Рубрики в списке |
Примером использования данного тэга может быть на первый взгляд довольно сложный код:
<?php wp_list_cats('sort_column=name&sort_order=asc&optioncount=1&use_desc_for_title=0&child_of=3'); ?>
Не стоит пугаться такого кода, зная названия и свойства параметров вы легко сможете расшифровать его и модернизировать так, как вам будет угодно.
Но для начала внесем некоторую ясность. Между параметром, его значением и амперсантом (&) не должно быть никаких значений. Цифра “0” принимает значение “fales”, то-есть запрещает или убирает вывод того или иного значения, “1” имеет значение “true” или “верно” выводит значение параметра в заданном ему диапазоне.
Итак, что же мы выведем таким кодом?
Отобразим ссылки рубрик в качестве названия (sort_column=name&use_desc_for_title=0), отсортируем их в алфавитном порядке (sort_order=asc), покажем количество записей в каждой из рубрик (optioncount=1), отобразив при этом только дочерние рубрики, принадлежащие основной рубрике с ID = 3 (child_of=3).
Тэги шаблонов и Цикл WordPress
Большое количество тегов шаблона связаны и работают в паре с Циклом WordPress. Это означает, что данные теги должны быть вставлены в файл шаблона как неотъемлемая часть php цикла, который создает страницы на лету, используя при этом инструкции внутри цикла.
Пример начала WordPress цикла:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
Внедрение тэга шаблона должно осуществляться внутри цикла, до его окончания. Ниже приведен небольшой пример:
<?php endwhile; else: ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?>
Какие же тэги должны находиться внутри цикла WordPress?
- the_content();
- next_post();
- previous_post().
Если тэгу шаблона не требуется использования цикла, тогда вы можете использовать его в любом месте файла шаблона вашей темы.
На первых парах это может показаться трудным, но не стоит расстраиваться, ведь все приходит с практикой.
Рекомендую почитать: