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

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

Возвращаем ссылку на архив: get_archives_link()

Тег возвращает ссылку на архив в различных форматах.

Параметры

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

  • $url (string): URL архива. По умолчанию: NULL;
  • $text (string): Описание архива, при $format выставленном на ‘link‘. По умолчанию: NULL;
  • $format (string, необязательный): Формат ссылки. Можно использовать следующие:

— ‘link‘- создает тег <link />;
— ‘option‘- создает тег <option>, который можно использовать в выпадающем HTML-списке;
— ‘html‘- создает тег <a> внутри тега <li>, его можно использовать в списках;
— ‘custom‘ или любой другой текст создают тег <a>. Значение по умолчанию: ‘html‘;

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

Применение

<?php

// Получаем и выводим ссылку на архив в виде тега <link>.
echo get_archives_link( 'http://mywebsite.com/archives/something/', __( 'Мои архивы', 'translation-domain' ), 'link' );

// Получаем и выводим ссылку на архив в произвольном формате.
echo get_archives_link( 'http://mywebsite.com/archives/something/', '', 'custom', '<div class="not-so-secret-archives-link">', '</div>' );

?>

Получаем и выводим ссылки на архивы: wp_get_archives()

Тег получает или выводит список ссылок на архивы в различных форматах.

Параметры

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

  • $args (array, необязательный): Массив включает в себя следующие аргументы:

— ‘type‘ (string): Тип архивов. Принимаются параметры ‘yearly‘, ‘monthly‘, ‘weekly‘, ‘daily‘, ‘postbypost‘ (сортировка по дате публикации) или ‘alpha‘ (сортировка по заголовкам). (По умолчанию: ‘monthly‘);
— ‘limit‘ (string): Количество элементов, которые нужно вывести. (По умолчанию: пусто, или неограниченно);
— ‘format‘ (string): один из форматов вывода;
— ‘html‘ — создает тег <a> внутри тега <li>, можно использовать в списках;
— ‘option‘ — создает тег <option>, который можно использовать в выпадающем HTML-списке;
— ‘custom‘ — создает теги <a>. Значение по умолчанию: ‘html‘.

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

— ‘show_post_count‘ (bool): Показывать счетчик записей. По умолчанию: FALSE;
— ‘echo‘ (integer): Вывести на экран (1) или получить для обработки (0). По умолчанию: 1;
— ‘order‘ (string): Сортировать элементы по возрастанию (‘ASC‘) или убыванию (‘DESC‘). По умолчанию: ‘DESC‘.

Применение

<?php

$args = array(

    // Архив за год.
    'type' => 'yearly',

    // Здесь нам нужны просто теги <a>, потому что...
    'format' => 'custom',

    // ...мы собираемся использовать эти ссылки в элементе <nav> 
    'before' => '<nav class="yearly-archives">',
    'after' => '</nav>',

    // Выводим счетчик записей.
    'show_post_count' => true

);

wp_get_archives( $args );

?>

Получаем и выводим название типа записей на странице архива: post_type_archive_title()

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

Параметры

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

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

Применение

<?php

// Получаем название типа записей для заголовка страницы архивов.
$archive_title = post_type_archive_title( '', false );

// Выводим тип записи в качестве заголовка страницы архива.
post_type_archive_title( '<i class="icon-archive"></i>' );

?>

Получаем и выводим заголовок страницы для ежемесячного архива: single_month_title()

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

Параметры

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

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

Применение

<?php

// Выводим заголовок ежемесячного архива с приставкой.
single_month_title( __( 'Архив за месяц', 'translation-domain' ) . ': ' );

// Получаем заголовок для страницы архива за месяц.
$month_title = single_month_title( '', false );

?>

Получаем и выводим ссылку “Следующие записи”: get_next_posts_link() и next_posts_link()

Теги получают или выводят ссылку “Следующие записи” на странице с записями.

Параметры

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

  • $label (string, необязательный): Текст, который будет отображаться в качестве ссылки. По умолчанию: ‘следующая страница »‘;
  • $max_page (integer, необязательный): Максимальный номер страницы. По умолчанию: 0.

Применение

<?php

// Получаем ссылку “следующие записи” со стандартными значениями.
$next_comments_link = get_next_posts_link();

// Выводим ссылку “следующие записи” в произвольном формате, с использованием стрелки вправо.
next_posts_link( '→' );

?>

Получаем и выводим ссылку “Предыдущие записи”: get_previous_posts_link() и previous_posts_link()

Теги получают или выводят ссылку “Предыдущие записи” на странице с записями.

Параметры

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

  • $label (string, необязательный): Текст, который будет отображаться в качестве ссылки. По умолчанию: ‘предыдущая страница‘.

Применение

<?php

// Получаем ссылку “предыдущие записи” со стандартными значениями.
$previous_comments_link = get_previous_posts_link();

// Выводим ссылку “предыдущие записи” в произвольном формате, с использованием стрелки влево.
previous_posts_link( '←' );

?>

Получаем и выводим ссылки “Следующие и предыдущие записи”: get_posts_nav_link() и posts_nav_link()

Теги получают и выводят навигационные ссылки «Следующие записи» и «Предыдущие записи».

Параметры

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

  • $args (array, необязательный): Массив включает в себя следующие аргументы:

— ‘sep‘ (string): Текст разделителя. По умолчанию: ‘;‘;
— ‘prelabel‘ (string): Текст ссылки на предыдущие записи. По умолчанию: ‘Предыдущая страница‘;
— ‘nxtlabel‘ (string): Текст ссылки на следующие записи. По умолчанию: ‘Следующая страница‘.

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

— ‘sep‘ (string): Текст разделителя. По умолчанию: ‘;‘;
— ‘prelabel‘ (string): Текст ссылки на предыдущие записи. По умолчанию: ‘« Предыдущая страница‘;
— ‘nxtlabel‘ (string): Текст ссылки на следующие записи. По умолчанию: ‘Следующая страница »‘.

Применение

<?php

// Получаем навигацию по записям.
$args = array(
    'sep' => ' &middot; ',
    'prelabel' => '&laquo;',
    'nxtlabel' => '&raquo;'
);

$posts_nav = get_posts_nav_link( $args );

// Выводим навигацию по записям.
posts_nav_link( ' - ', __( 'Предыдущие', 'translation-domain' ), __( 'Следующие', 'translation-domain' ) );

?>

Получаем и выводим форму поиска: get_search_form()

Тег возвращает или выводит классическую форму поиска.

Параметры

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

Применение

<?php

// Получаем форму поиска.
$search_form = get_search_form( false );

// Выводим форму поиска.
get_search_form();

?>

Получаем и выводим текущий поисковый запрос: get_search_query() и the_search_query()

Теги возвращают или отображают введенные поисковые запросы.

Параметры

the_search_query() не принимает параметров, а get_search_query() принимает лишь один:

  • $escaped (bool, необязательный): Был ли результат экранирован. Стоит оставить значение TRUE, если вы не собираетесь в дальнейшем его экранировать. По умолчанию: TRUE.

Применение

<?php

// А здесь и объяснять, по сути, нечего.
get_search_query();
the_search_query();

?>

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

Тег генерирует URL для поиска с заданными условиями.

Параметры

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

  • $query (string, необязательный): Условия поиска для создания запроса. По умолчанию: текущий поисковый запрос.

Применение

<?php

echo '<a href="' . get_search_link( __( 'смысл жизни', 'translation-domain' ) ) . '">' . __( 'Найдите смысл жизни на нашем сайте!', 'translation-domain' ) . '</a>';

?>

Получаем и выводим ссылку “Регистрация” или “Консоль”: wp_register()

В зависимости от статуса пользователя тег выводит ссылку «Зарегистрироваться» или «Консоль».

Параметры

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

  • $before (string, необязательный): Текст или HTML-код, который будет показан до ссылки. По умолчанию: ‘’;
  • $after (string, необязательный): Текст или HTML-код, который будет показан после ссылки. По умолчанию: ‘’;
  • $echo (bool, необязательный): Вывести на экран (TRUE) или возвратить для обработки (FALSE). По умолчанию: TRUE.

Применение

<?php

// Произвольный контент до и после основного контента.
wp_register( '<div class="register-dashboard">', '</div>' );

// Удаляем произвольный контент до и после основного контента и возвращаем вывод.
$register_or_dashboard_link = wp_register( ' ', ' ', false );

?>

Получаем и выводим форму “Авторизоваться”: wp_login_form()

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

Параметры

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

  • $args (array, необязательный): Массив включает в себя следующие аргументы:

— ‘echo‘ (bool): выводить на экран или нет. По умолчанию: TRUE;
— ‘redirect‘ (string): ссылка для перенаправления пользователя после успешной авторизации. По умолчанию: текущая страница;
— ‘form_id‘ (string): ID для тега формы авторизации <form>. (По умолчанию: ‘loginform‘);
— ‘label_username‘ (string): Надпись для поля “Имя пользователя”. По умолчанию: ‘Имя пользователя‘;
— ‘label_password‘ (string): Надпись для поля “Пароль”. По умолчанию: ‘Пароль‘;
— ‘label_remember‘ (string): Надпись для поля “Запомнить”. По умолчанию: ‘Запомнить‘;
— ‘label_log_in‘ (string): Надпись для кнопки подтверждения. По умолчанию: ‘Войти‘;
— ‘id_username‘ (string): ID поля “Имя пользователя”. По умолчанию: ‘user_login‘;
— ‘id_password‘ (string): ID поля “Пароль”. По умолчанию: ‘user_pass‘;
— ‘id_remember‘ (string): ID чекбокса “Запомнить”. По умолчанию: ‘rememberme‘;
— ‘id_submit‘ (string): ID кнопки подтверждения. По умолчанию: ‘wp-submit‘;
— ‘remember‘ (bool): Показывать ли чекбокс “Запомнить”. По умолчанию: TRUE;
— ‘value_username‘ (string): Значение по умолчанию для поля “Имя пользователя”. По умолчанию: »;
— ‘value_remember‘ (bool): Отметить ли чекбокс “Запомнить” по умолчанию. По умолчанию: FALSE.

Применение

<?php

$args = array(

    // Перенаправление на страницу приветствия после успешной авторизации.
    'redirect'    => get_permalink( 8 ),

    // Произвольные id для форм и полей ввода.
    'form_id'     => 'mytheme-login-form',
    'id_username' => 'mytheme-login-form-username',
    'id_password' => 'mytheme-login-form-password',
    'id_remember' => 'mytheme-login-form-remember',
    'id_submit'   => 'mytheme-login-form-submit',

);

wp_login_form( $args );

?>

Возвращаем и отображаем ссылку “Выйти”: wp_loginout()

Тег возвращает или отображает ссылки “Войти” для посетителей, и “Выйти” – для авторизованных пользователей.

Параметры

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

  • $redirect (string, необязательный): URL, на который перенаправляются пользователи при авторизации или выходе из системы. По умолчанию: »;
  • $echo (bool, необязательный): Вывести на экран (TRUE) или возвратить для обработки (FALSE) тег. По умолчанию: TRUE.

Применение

<?php

// Получаем ссылку войти/выйти.
$login_logout_link = wp_loginout( '', false );

?>

Получаем URL для авторизации: wp_login_url()

Тег возвращает ссылку для авторизации пользователей.

Параметры

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

  • $redirect (string, необязательный): URL, на который перенаправляются пользователи при авторизации. По умолчанию: »;
  • $force_reauth (bool, необязательный): Повторная авторизация пользователей даже при сохраненных cookies. По умолчанию: FALSE.

Применение

<?php

// Перенаправляем пользователей на страницу приветствия после успешной авторизации. 
echo wp_login_url( get_permalink( 8 ) );

?>

Применение

<?php

// Перенаправляем пользователей на страницу выхода из системы.
echo wp_logout_url( get_permalink( 9 ) );

?>

Получаем ссылку «Забыли пароль»: wp_lostpassword_url()

Тег возвращает ссылку на страницу восстановления пароля.

Параметры

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

  • redirect (string, необязательный): URL для перенаправления пользователей. По умолчанию: ».

Применение

<?php

// Перенаправляем пользователей на страницу с подсказкой пароля.
echo wp_lostpassword_url( get_permalink( 10 ) );

?>

В завершение

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

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

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