Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Введение в теги шаблонов

Эта страница помечена как незавершённая. Вы можете помочь проекту, дополнив её.

Если заглянуть в header.php, один из файлов шаблона, поставляемый с любой темой Wordpress, вы заметите, что в нем отсутствует строка с названием вашего блога, которое отображается при просмотре сайта на Wordpress. Фактически, вы найдете там кучу странных стрелок скобок и слов, не имеющих смысла.

Это пример тега шаблона.

Давайте узнаем немного больше о том, что это такое, и как они работают.

Что такое тег шаблона

Тег шаблона - это код, который поручает Wordpress "сделать" или "получить" что-нибудь. В случае с файлом header.php, тег шаблона, выводящий название сайта на Wordpress, будет выглядеть следующим образом:

<h1><?php bloginfo('name'); ?></h1>

Тег шаблона <?php bloginfo(); ?>, заключенный в теги заголовка H1. Тэг bloginfo() получает информацию из вашего Профиля пользователя, а также Параметры > Общие в Административной панели. В представленном здесь примере, слово name, заключенное в кавычки внутри тега, поручает тегу "получить название блога". Это называется параметр.

Параметры тэга шаблона

Кроме параметра name шаблонного тэга <?php bloginfo(); ?>, существует и другая информация, которую он может отобразить. Давайте рассмотрим несколько таких параметров - и вы сможете найти больше информации и примеров на странице Кодекса bloginfo().

name <?php bloginfo('name'); ?>
Как упоминалось выше, отображает название сайта и установлено администратором в панели Параметры > Общие по умолчанию.
description <?php bloginfo('description'); ?>
Это называется "подзаголовок" вашего блога, обычно содержащий описательные предложения, которые говорят: "Мой блог о...". Установлено администратором в панели Параметры > Общие.
url <?php bloginfo('url'); ?>
Если вам необходимо отобразить URL или веб-адрес вашего Wordpress-сайта, используйте параметр URL. Он также берется из панели Параметры > Общие.
admin_email <?php bloginfo('admin_email'); ?>
Если хотите отобразить e-mail администратора, вам не нужно вносить его в файлы шаблона. В результате таких действий он может стать открытым для сборщиков почты, использующих сложное программное обеспечение для сбора e-mail адресов и рассылки по ним спама. При использовании bloginfo('admin_email'), e-mail отображается на странице для читателей, но фактический почтовый адрес скрыт от сборщиков. Здрово, не правда ли? E-mail администратора устанавливается в панели Параметры > Общие.
version <?php bloginfo('version'); ?>
Иногда вы хотите показать, какую версию Wordpress используете. Темы, поставляемые вместе с Wordpress, по умолчанию содержат такую информацию в шаблоне подвала. Он просто отображает текующую версию Wordpress, используемую вами.

Для отображения версии Wordpress, тег шаблона должен выглядеть следующим образом:

<p>Блог работает на WordPress версии <?php bloginfo('version'); ?></p>
Блог работает на WordPress версии 6.4.1

Следует заметить, что параметр version генерирует только номер версии Worpdress, но не сами слова "Блог работает на WordPress версии". Это было написано перед тэгом, так чтобы они были видны на веб-странице.

Для более подробного изучения параметров шаблонных тэгов, смотрите Анатомия Тэгов Шаблона и Как передавать в Тэги параметры.

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

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

Как мы видели в тэге bloginfo(), все что он принимает, только одно слово, меняющее вывод тэга. Это слово называется параметр и оно поручает тэгу шаблона "сделать" или "получить" что-нибудь. В этом случае, инструкция состоит в получении имени, которое отображает название сайта.

Тэг шаблона the_title() отображает заголовок записи, обычно расположен в верхней части статьи. Этот тэг "получает" заголовок записи и отображает его, по умолчанию, но он также может кое-что "делать", с параметрами, которые помогут вам изменить внешний вид и представление заголовка записи.

По умолчанию, тэг выглядит следующим образом:

<?php the_title(); ?>

И результат выглядит примерно так:

Using WordPress Makes Me Smile

Предположим, что вы хотите каким-то образом выделить заголовок записи, например графикой или символом, таким как стрелка или маркер. Давайте вставим знак йены ¥, символ Японской монеты, перед нашим заголовком.

Если вы внимательно следовали инструкциям тэга the_title(), вы должны были видеть его параметры:

<?php the_title('before', 'after', display); ?> 

Мы хотим чтобы символ йены был перед заголовком записи, с пробелом после символа, поэтому давайте добавим параметры:

<?php the_title('&yen; '); ?> 

Когда страница сгенерируется, она будет выглядеть следующим образом:

¥ Using WordPress Makes Me Smile

Теперь, давайте пойдем немного дальше, и вставим что-нибудь после заголовка записи. Предположим, что вы хотите стимулировать людей к прочтению, так что добавим небольшую стрелку ( » ) для их мотивации.

<?php the_title('&yen; ', ' &raquo;'); ?> 

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

¥ Using WordPress Makes Me Smile »

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

<h2><?php the_title('Заголовок статьи: '); ?></h2> 

Мы расположили заголовок записи внутри тегов заголовока H2 и добавили фразу "Заголовок статьи:" перед заголовком записи.

Заголовок записи: Using WordPress Makes Me Smile

Запомните: Не все теги шаблонов принимают аргументы "before" и "after", как делает тэг the_title. Проверьте страницу Кодекса конкретного тэга, который вы используете, чтобы знать какие аргументы он принимает.

Логические тэги шаблонов

Приведенный выше пример тэга, отображает простые параметры, отделенные друг от друга кавычками и запятой. Теперь рассмотрим примеры Логических тэгов шаблона, которые соединяют более одного параметра вместе, используя булевые математические методы. Одно из распространенных булевых выражений использует "and (&)" логику для соединения параметров.

Тэг шаблона wp_list_cats() обычно находится в WordPress сайдбаре или в файле шаблона меню. Он выводит все Рубрики сайта.

<?php wp_list_cats(); ?>

По умолчанию, тэг шаблона имеет следующие установленные параметры:

  • all - Отображает все Рубрики
  • sort_column - Сортировка по ID Рубрики
  • sort_order - Сортировка по возрастанию
  • list - Вставляет Рубрики в маркированный список (<ul><li>)
  • optioncount - Не отображает количество записей в каждой Рубрике
  • hide_empty - Основывается на значении первого параметра (optionall или all), скрывает Рубрики без записей
  • use_desc_for_title - Использование описания Рубрики в качестве заголовка ссылки
  • children - Отображает дочерние Рубрики каждой Рубрики в списке

Примером списка Рубрик может быть:

  • Истории моей жизни
  • Истории моей семьи
  • Вещи, которыми я хочу поделиться
    • О WordPress
    • О Документации
  • Факты и мифы о жизни

Выступающий список, содержащий пункты: "О WordPress", "О Документации", является дочерним или под-Рубрикой родительской Рубрики "Вещи, которыми я хочу поделиться". Эти названия, по умолчанию, не являются настоящими названиями Рубрик, это описание Рубрики, которое вы установили в панели Администрирование > Управление > Рубрики.

Если вы хотите показать действительное название Рубрики, вместо описания Рубрики, измените тэг шаблона на:

<?php wp_list_cats('use_desc_for_title=0'); ?>

Ноль устанавливает параметр в значение false, тем самым отключая использование описания, в качестве заголовка. Теперь заголовки Рубрик будут выглядеть так:

  • Истории моей жизни
  • Моя семья
  • Делюсь
    • WordPress
    • Документация
  • Факты и Мифы

Предположим, что вы хотите скрыть из списка дочерние Рубрики. Для этого вам нужно добавить параметр, запрещающий отображение дочерник Рубрик, вместе с параметром, отображающим только заголовки (не описание), с помощью "and", использующего амперсант ( & ).

<?php wp_list_cats('use_desc_for_title=0&children=0'); ?>

Заметьте, что амперсант не имеет пробелов с обоих сторон. Все параметры записываются вместе, без каких-либо пробелов между собой, в кавычки заключается только строка со всеми параметрами. Теперь названия Рубрик будут выглядеть так:

  • Истории моей жизни
  • Моя семья
  • Делюсь
  • Факты и Мифы

Другой пример, если вы хотите отобразить ссылки Рубрик в качестве названия, сортировать список в алфавитном порядке по названию, показать число записей в каждой категории, и отобразить только детей (под-рубрики) Рубрики с ID равной 3 ("Делюсь"), тэг шаблона будет выглядеть так:

<?php wp_list_cats('sort_column=name&sort_order=asc&optioncount=1&use_desc_for_title=0&child_of=3'); ?>
    • WordPress (23)
    • Документация (10)

Тэги шаблонов и Цикл

Многие тэги шаблонов 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; ?>

Тэги шаблона, которые должны находиться внутри Цикла включают в себя: the_content(), the_excerpt(), next_post(), и previous_post(). Если тэгу шаблона, который вы используете, не требуется работать вместе с Циклом, как например wp_list_cats() и wp_list_pages(), вы можете использовать его в любых файлах шаблона, например в сайдбаре, заголовке или нижнем колонтитуле.

Узнайте болшье о Тэгах шаблона

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

Стилизация Тэгов Шаблона

Внешние источники