Тег шаблона
Оригинальное название: template tag
Коротко
PHP-функция WordPress, которую вызывают в файлах темы, чтобы вывести или получить данные: заголовок, текст, дату, ссылку, автора текущей записи.
Что такое «Тег шаблона»
Теги шаблона — словарь классической темы. Вместо прямых запросов к базе разработчик пишет the_title() или the_permalink(), а WordPress сам достаёт нужное значение и прогоняет его через фильтры плагинов. Большинство тегов работает с «текущей» записью, которую устанавливает Цикл WordPress, поэтому их и вызывают внутри него. Определены они в файлах ядра wp-includes/*-template.php: post-template.php, link-template.php, general-template.php и других.
Пары the_ и get_the_
У многих тегов два варианта. Функции с префиксом the_ сразу выводят значение на страницу, а get_the_ возвращают его строкой для дальнейшей обработки. Например, the_title() печатает заголовок, а get_the_title( $id ) вернёт заголовок любой записи по ID, в том числе за пределами Цикла. Похожая пара — the_permalink() и get_permalink().
Пример: карточка статьи в списке
<article <?php post_class( 'card' ); ?>>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<time datetime="<?php echo esc_attr( get_the_date( 'c' ) ); ?>">
<?php echo esc_html( get_the_date() ); ?>
</time>
<?php the_excerpt(); ?>
</article>
Здесь работают пять тегов: CSS-классы записи, ссылка, заголовок, дата публикации и отрывок.
На что обратить внимание
- Вне Цикла теги без аргументов берут данные из глобальной переменной
$post, и в сайдбаре или подвале результат может оказаться неожиданным. - Заголовок внутри атрибута, например
title="", выводят черезthe_title_attribute()— она экранирует кавычки. - Значения из
get_the_*перед выводом нужно экранировать самостоятельно. - В блочных темах теги в шаблонах не пишут: их роль выполняют блоки «Заголовок записи», «Дата записи» и другие, которые внутри вызывают те же функции.
К тегам шаблона относят и условные функции вроде is_single() или is_front_page(): они ничего не выводят, а помогают решить, что показать.

