Изучаем теги шаблонов: часть пятая

Изучаем теги шаблонов: часть первая
Изучаем теги шаблонов: часть вторая
Изучаем теги шаблонов: часть третья
Изучаем теги шаблонов: часть четвертая
Изучаем теги шаблонов: часть пятая
Изучаем теги шаблонов: часть шестая

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

Содержание

Получаем и выводим автоматические классы для каждой записи: get_post_class() и post_class()

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

Параметры

Оба тега шаблонов принимают два параметра:

  • $class (string, необязательный): Дополнительные CSS-классы, которые необходимо добавить. По умолчанию:’ ’;
  • $post_ID (integer или Object, необязательный): ID записи. По умолчанию: текущая запись.

Применение

<?php

// Добавляем дополнительный класс и получаем классы для записи.
$post_classes = get_post_class( 'mytheme-post-class' );

// Выводим классы из определенной записи. 
post_class(' ', 42);

?>

Получаем и выводим постоянную ссылку на текущую запись: get_permalink() и the_permalink()

Теги получают или выводят постоянную ссылку на запись.

Параметры

the_permalink() не принимает параметров.

get_permalink() принимает два параметра:

  • $post_ID (integer или Object, необязательный): ID записи. По умолчанию: текущая запись;
  • $leavename (bool, необязательный): Сохранять ли название страницы. По умолчанию: FALSE.

Применение

<?php

// Получаем постоянную ссылку для текущей записи.
get_permalink();

// Выводим постоянную ссылку на определенную запись.
the_permalink( 69 );

?>

Получаем и выводим ID записи: get_the_ID() и the_ID()

Теги возвращают и выводят ID записи.

Параметры

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

Применение

<?php

the_ID();

?>

Получаем и выводим заголовок поста: single_post_title()

Тег получает и выводит заголовок поста для использования в заголовках страницы (которые оформляются тегом <title>).

Параметры

Этот тег шаблона принимает два параметра:

  • $prefix (string, необязательный): Приставка к заголовку. По умолчанию: ’ ’;
  • $echo (bool, необязательный): Вывести (TRUE) или возвратить заголовок (FALSE). По умолчанию: TRUE.

Применение

<?php

// Выводим заголовок записи с приставкой.
single_post_title( __( 'Запись в блоге', 'translation-domain' ) . ': ' );

// Получаем заголовок записи.
$post_title = single_post_title( '', false );

?>

Получаем и выводим ссылку на следующую запись: get_next_post_link() и next_post_link()

Данные теги позволяют получать или выводить ссылку на следующую запись относительно текущей.

Параметры

Оба тега шаблонов принимают пять параметров:

  • format (string, необязательный): Формат ссылки, где %link является параметром $link. По умолчанию: ‘%link »‘;
  • $link (string, необязательный): Формат анкорного текста, где %title – это заголовок записи. По умолчанию: ‘%title‘;
  • $in_same_term (bool, необязательный): Делать ли ссылку на записи из той же таксономии. По умолчанию: FALSE;
  • $excluded_terms (string или array, необязательный): Список терминов для исключения. По умолчанию: ’ ’;
  • $taxonomy (string, необязательный): Таксономия для фильтрации следующих записей. По умолчанию: ‘category‘.

Применение

<?php

// Получаем стандартную ссылку на следующую запись.
$next_post_link = get_next_post_link();

/**
 * Выводим ссылку на следующую запись с произвольным оформлением. 
 * (другой формат ссылки, другой анкорный текст и
 * следующая запись должна быть из той же категории, что и текущая запись).
 */
next_post_link( __('Следующая запись', 'translation-domain') . ': %link', '<i class="icon-post"></i>%title', true );

?>

Получаем и выводим ссылку на предыдущую запись: get_previous_post_link() и previous_post_link()

Данные теги позволяют получать или выводить ссылку на предыдущую запись.

Параметры

Оба тега шаблонов принимают пять параметров:

  • format (string, необязательный): Формат ссылки, где %link является параметром $link. По умолчанию: ‘%link &raquo;’;
  • $link (string, необязательный): Анкор ссылки. ‘%title‘ заменится на заголовок записи. По умолчанию: ‘%title‘;
  • $in_same_term (bool, необязательный): Делать ли ссылку на запись из той же таксономии. По умолчанию: FALSE;
  • $excluded_terms (string или array, необязательный): Список терминов таксономии для исключения. По умолчанию: ’ ’;
  • $taxonomy (string, необязательный): Таксономия для фильтрации следующих записей. По умолчанию: ‘category‘.

Применение

<?php

// Получаем стандартную ссылку на предыдущую запись.
$previous_post_link = get_previous_post_link();

/**
 * Выводим ссылку на предыдущую запись с произвольным оформлением. 
 * (другой формат ссылки, другой анкорный текст и
 * предыдущая запись должна быть из той же категории, что и текущая запись).
 */
previous_post_link( __( 'Предыдущая запись', 'translation-domain' ) . ': %link', '<i class="icon-post"></i>%title', true );

?>

Получаем постоянную ссылку на страницу: get_page_link()

Тег получает постоянный URL заданной страницы.

Параметры

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

  • $post_ID (integer или Object, необязательный): ID записи. По умолчанию: текущая запись;
  • $leavename (bool, необязательный): Сохранять название страницы или нет. По умолчанию: FALSE;
  • $sample (bool, необязательный): Является ли это образцом постоянной ссылки. По умолчанию: FALSE.

Применение

<?php

// Получаем и выводим ссылку определенной страницы.
echo '<a href="' . get_page_link( 9 ) . '">' . __( 'О нас', 'translation-domain' ) . '</a>';

?>

Получаем и выводим постоянную ссылку записи: get_post_permalink() и post_permalink()

Данные теги получают и выводят постоянную ссылку определенной записи.

Параметры

get_post_permalink() принимает три параметра:

  • $post_ID (integer или Object, необязательный): ID записи. По умолчанию: текущая запись;
  • $leavename (bool, необязательный): Сохранять ли название страницы. По умолчанию: FALSE;
  • $sample (bool, необязательный): Является ли это образцом постоянной ссылки. По умолчанию: FALSE.

post_permalink() принимает лишь один параметр:

  • $post_ID (integer или Object, необязательный): ID записи. По умолчанию: текущая запись.

Применение

<?php

// Получаем постоянную ссылку определенной записи.
$special_post_permalink = get_post_permalink( 15 );

// Выводим постоянную ссылку текущей записи.
post_permalink();

?>

Получаем и выводим короткую ссылку на запись: wp_get_shortlink() и the_shortlink()

Данные теги возвращают и выводят короткую версию ссылки на запись.

Параметры

wp_get_shortlink() принимает три параметра:

  • $ID (string, необязательный): ID записи или блога. По умолчанию: текущая запись или блог;
  • $context (string, необязательный): Является ли ID записью в блоге, записью на сайте или ID медиа файла. Вы можете выставить параметр на ‘post‘ (для записей в блоге) или ‘query‘ (для другого типа ID). По умолчанию: ‘post‘;
  • $allow_slugs (bool, необязательный): Использовать ли транслитерацию (slug) в укороченных ссылках. По умолчанию: TRUE.

the_shortlink() принимает четыре параметра:

  • $text (string, необязательный): Текст ссылки. По умолчанию: «Это короткая ссылка«;
  • $title (string, необязательный): Значение для атрибута title тега <a>. По умолчанию: ’ ’, но конвертируется в оформленный заголовок записи;
  • $before (string, необязательный): Текст или HTML-код, который будет показан перед ссылкой. По умолчанию: ’ ’;
  • $after (string, необязательный): Текст или HTML-код, который будет показан после ссылки. По умолчанию: ’ ’.

Применение

<?php

// Получаем укороченную версию ссылки на запись со стандартными параметрами.
wp_get_shortlink();

// Выводим укороченную версию ссылки с произвольными параметрами.
the_shortlink( __( 'Короткая ссылка', 'translation-domain' ), '', '<i class="icon-link"></i>' );

?>

Получаем и выводим ссылку “Редактировать”: get_edit_post_link() и edit_post_link()

Данный тег позволяет получить или вывести ссылку “Редактировать запись”, которую затем можно использовать в шаблонах.

Параметры

get_edit_post_link() принимает два параметра:

  • $post_ID (integer, необязательный): ID записи. По умолчанию: текущая запись;
  • $context (integer, необязательный): нужно ли экранировать символ & (то есть заменять на &). Можно использовать все значения, кроме ‘display‘, чтобы предотвратить шифрование ссылки. По умолчанию: ‘display‘.

edit_post_link() принимает четыре параметра:

  • $text (string, необязательный): Текст ссылки. По умолчанию: «Редактировать«;
  • $before (string, необязательный): Текст или HTML-код, который будет показан перед ссылкой. По умолчанию: ’ ’;
  • $after (string, необязательный): Текст или HTML-код, который будет показан после ссылки. По умолчанию: ’ ’;
  • $post_ID (string, необязательный): ID записи. По умолчанию: текущая запись.

Применение

<?php

// Запрашиваем ссылку “Редактировать запись” для текущей записи.
$edit_post_link = get_edit_post_link();

// Запрашиваем ссылку “Редактировать запись” для определенной записи.
$edit_post_link = get_edit_post_link( 157 );

// Выводим ссылку “Редактировать запись” для текущей записи.
edit_post_link( __( 'Редактировать', 'translation-domain' ), '', '<i class="icon-edit"></i>' );

// Выводим ссылку “Редактировать запись” для определенной записи.
edit_post_link( __( 'Редактировать', 'translation-domain' ), '', '', 157 );

?>

Получаем ссылку для удаления записи: get_delete_post_link()

Тег позволяет получить ссылку для удаления записи.

Параметры

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

  • $post_ID (integer, необязательный): ID записи. По умолчанию: текущая запись;
  • $deprecated (string, устаревший): Этот параметр устарел, оставьте его пустым. По умолчанию: ’ ’;
  • $force_delete (bool, необязательный): Удалить ли запись полностью, минуя Корзину. По умолчанию: FALSE.

Применение

<?php

// Получаем и выводим ссылку “В корзину” для текущей записи.
echo get_delete_post_link();

// Получаем и выводим ссылку “Удалить полностью” для текущей записи.
echo get_delete_post_link( $post->ID, ' ', true );

?>

Выводим “анкорный текст” для постоянной ссылки на текущую запись: permalink_anchor()

Тег выводит анкорный текст для постоянной ссылки на запись. Для наглядности, взгляните на пример.

Параметры

Этот тег шаблона принимает лишь один параметр:

  • $mode (string, необязательный): задает тип якоря для вывода. Если задать параметру значение ‘id’, то якорь будет равен числовому ID поста. Если ‘title’, то анкор будет равен имени поста. По умолчанию: ‘id‘.

Применение

<?php

// Вывести заголовок страницы в качестве анкорного текста постоянной ссылки.
permalink_anchor( 'title' );

// И выводится это следующим образом:
// <a id="my-post-title"></a>

// Выводим анкорный текст постоянной ссылки с использованием id.
permalink_anchor();
permalink_anchor( 'id' );

// Обе функции выводятся следующим образом:
// <a id="post-1234"></a>

?>

Загружаем шаблон заголовка: get_header()

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

Параметры

Этот тег шаблонов принимает всего один параметр:

  • $name (string, необязательный): Название файла шапки сайта (header-{$name}.php). По умолчанию: ’ ’,если этот параметр загружает файл header.php.

Применение

<?php

// Загружаем header.php.
get_header();

// Загружаем header-special.php.
get_header( 'special' );

?>

Загружаем шаблон подвала сайта: get_footer()

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

Параметры

Этот тег шаблона принимает лишь один параметр:

  • $name (string, необязательный): Название файла подвала (footer-{$name}.php). По умолчанию: ’ ’, если этот параметр загрузит файл footer.php.

Применение

<?php

// Загружаем footer.php.
get_footer();

// Загружаем footer-special.php.
get_footer( 'special' );

?>

Загружаем шаблон боковой панели: get_sidebar()

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

Параметры

Этот тег шаблона принимает лишь один параметр:

  • $name (string, необязательный): Название файла боковой панели (sidebar-{$name}.php). По умолчанию: ’ ’, если этот параметр загрузит файл sidebar.php.

Применение

<?php

// Загружаем sidebar.php.
get_sidebar();

// Загружаем sidebar-special.php.
get_sidebar( 'special' );

?>

Загружаем файлы шаблона: get_template_part()

Этот тег позволяет загружать внешние PHP-файлы из папки шаблона.

Параметры

Этот тег шаблона принимает два параметра:

  • $slug (string, обязательный): название файла шаблона. По умолчанию: NULL;
  • $name (string, необязательный): Произвольное название, которое добавляется к имени файла. По умолчанию: NULL.

Применение

<?php

// Загружаем shortcodes.php.
get_template_part( 'shortcodes' );

// Динамически загружаем часть контента (то есть, content-1.php, content-2.php или content-3.php).
$number = some_function();
get_template_part( 'content', $number );

?>

В завершение

Надеемся, вам понравилась пятая «порция» тегов шаблонов. В ближайшее время мы опубликуем еще несколько статей из этой серии.

Если у вас возникли какие-либо вопросы или замечания, обязательно напишите об этом в комментариях. И если вам понравилась наша статья, не забудьте поделиться ею с друзьями!

Данная публикация представляет собой перевод статьи «The Tuts+ Guide to Template Tags: Fifth Batch» , подготовленной дружной командой проекта Интернет-технологии.ру