Изучаем теги шаблонов: введение

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

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

Сегодня мы открываем новую серию статей, посвященных одному из основополагающих компонентов WordPress: тегам шаблонов.

Что такое теги шаблонов (template tags)?

Два основных свойства, отражающих гибкость платформы WordPress – это возможность создавать «плагины» (для расширения функционала) и «темы оформления» (для изменения внешнего вида). Эти свойства являются результатом успешной реализации ключевых концепций WordPress: API и подсистем. Теги шаблонов являются одной из основ построения всей системы CMS.

Теги шаблонов появились еще задолго до самого WordPress. Он был представлен в b2 — платформе для ведения блогов, которую Мэтт Мулленвег и Майк Литтл слегка модернизировали при создании WordPress. Можно сказать, что это одна из первых функций, реализованная еще до поддержки в WP тем и плагинов.

В Кодексе WordPress, теги шаблонов описаны следующим образом:
«Теги шаблонов используются в шаблонах вашего блога для динамического вывода информации или настройки сайта, предоставляя для этого инструменты и позволяя сделать его более индивидуальным и интересным».

Теги шаблонов – это PHP-функции, которые поручают WordPress «сделать» или «получить» что-нибудь. И поверьте, в этом нет ничего сложного, если вы знакомы с основами PHP и HTML.

Где находятся теги шаблонов?

Файлы, в которых хранятся функции для всех тегов шаблонов, находятся в папке wp-includes.

Всего существует 9 различных файлов с окончанием template:

  • wp-includes/author-template.php — включает в себя теги шаблонов, связанные с автором;
  • wp-includes/bookmark-template.php — включает в себя теги шаблонов, связанные с закладками;
  • wp-includes/category-template.php — включает в себя теги шаблонов, связанные с таксономией и терминами, включая рубрики и теги;
  • wp-includes/comment-template.php — включает в себя теги шаблонов, связанные с комментариями;
  • wp-includes/link-template.php — включает в себя теги шаблонов, связанные со ссылками (постоянные ссылки, ссылки на прикрепленные файлы, ссылки на архивы и т.д.);
  • wp-includes/nav-menu-template.php — включает в себя теги шаблонов, связанные с меню навигации;
  • wp-includes/post-template.php — включает в себя теги шаблонов, связанные с записями/публикациями;
  • wp-includes/post-thumbnail-template.php — включает в себя теги шаблонов, связанные с миниатюрами записей;
  • wp-includes/general-template.php — включает в себя все остальные теги шаблонов.

Как можно использовать теги шаблонов?

Вам будет несложно понять принцип работы шаблонных тегов, если вы знакомы с основами PHP, HTML и CSS. Так как теги шаблонов представляют собой не что иное, как PHP-функции, то вполне понятно, как ими пользоваться. Но вам следует знать о них кое-что еще.

Функции шаблонных тегов

Кроме тегов вставки (Include Tags) и условных тэгов (Conditional Tags), функции тегов шаблона можно разделить на две группы: те, что «выводят», и те, что «возвращают». Эти два типа функций формируют основу тегов шаблона и позволяют создавать новые темы оформления.

Выявить «возвращающие» теги можно по их названиям – в них перед именем функции используется приставка get_. Хоть они и выглядят как производное от обычных функций, но все же несут в себе уникальный код и возвращают результат. Теги шаблонов, которые выводят информацию, обычно привязываются к get_ функциям. Давайте взглянем на исходный код функции the_ID():

<?php
function the_ID() {  
    echo get_the_ID();

}

?>

Существуют функции, которым можно задавать логический $echo-параметр. Например, функция будет выводить информацию при установленном параметре TRUE, и возвращать значение при параметре FALSE. Не беспокойтесь, если запутались, так как мы познакомиться с параметрами всех шаблонных тегов.

Параметры функций шаблонных тегов

Параметры – это типы данных, которые способны изменять поведение тегов шаблона. С помощью параметров вы можете добавлять к выводимым данным префиксы и суффиксы, ограничивать объем получаемых данных, исключать определенные пункты из списков и так далее. Без знаний о доступных параметрах для каждого тега шаблона, вы ограничиваетесь лишь его поведением по умолчанию.

Объявление параметров

Есть три способа объявления параметра функции:

При помощи регулярных параметров: большинство тегов шаблона принимают регулярные PHP-параметры, которые можно разделять запятыми:

<?php
$my_post_meta = get_post_meta( $post->ID, 'my_post_meta', true );
?>

При помощи строки запроса (Query-string): некоторые функции принимают параметры в форме строки запроса, как показано в примере ниже:

<?php
wp_link_pages( 'before=<p class="page-links">' . __( 'Pages:' ) . ' &after=</p>&seperator=<span class="sep"> &middot; </span>' );
?>

При помощи массивов (array): лучший и более «опрятный» способ объявления параметров, чем строка запроса:

<?php
$args = array(
    'menu_class' => 'my-primary-menu',
    'theme_location' => 'primary',
    'after' => '<hr class="menu-bottom" />'
);
wp_nav_menu( $args );
?>

Помните, что вы можете использовать массивы вместо параметров запросов и наоборот, но нельзя заменять регулярные параметры параметрами Query-string или же массивами. Если шаблонный тег принимает регулярные параметры, значит использовать можно только их. Если тег принимает параметры строки запроса или массив, можно использовать и то, и другое.

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

В завершение

Теперь, когда мы познакомились с основами использования тегов шаблона в WordPress, можно продолжить наше обучение. В следующих руководствах из этой серии мы изучим каждый из шаблонных тегов (описанных в Кодексе), и представим их небольшое описание, объясним параметры, и приведем примеры использования каждого тега.

Это будет довольно долгое путешествие по миру шаблонных тегов, но мы постараемся сделать его как можно увлекательнее.

Может быть, вы хотите рассказать нам и другим читателям что-нибудь о тегах шаблона? Для этого воспользуйтесь размещенной ниже формой для комментариев. И если вам понравилась эта статья, не забудьте поделиться ей с друзьями!

Перевод статьи “The Tuts+ Guide to Template Tags: Introduction” был подготовлен дружной командой проекта Сайтостроение от А до Я.