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

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

Предупреждение касательно закладок: с выходом WordPress версии 3.5 «закладки» по умолчанию скрыты в консоли администратора. Чтобы работать с закладками, нужно установить плагин Link Manager.

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

Тег получает и выводит список закладок; старая функция WordPress.

Параметры

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

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

— ‘orderby‘ (string): Как сортировать закладки: ‘name‘, ‘link_id‘, ‘url‘, ‘target‘, ‘description‘, ‘owner‘ (пользователь, добавивший закладку), ‘rating‘, ‘updated‘ (дата обновления), ‘rel‘ (XFN закладки взаимоотношений), ‘notes‘, ‘rss‘, ‘length‘ (длина названия закладки), ‘rand‘ (случайно). По умолчанию: ‘name‘;
— ‘order‘ (строка запроса): Сортировать по возрастанию (‘ASC‘) или убыванию (‘DESC‘). По умолчанию: ‘ASC‘;
— ‘limit‘ (integer): количество элементов, которые будут отображены. По умолчанию: -1, или все закладки;
— ‘category‘ (string): список разделенных запятыми ID категорий, из которых извлекаются элементы. По умолчанию: ‘ ‘, или все категории;
— ‘exclude_category‘ (string): ID категорий закладок, которые нужно исключить. По умолчанию: ‘ ‘;
— ‘category_name‘ (string): Название категории, из которой надо выводить закладки (переписывает ‘category). По умолчанию: ‘ ‘;
— ‘hide_invisible‘ (integer): Показывать ли невидимые ссылки. По умолчанию: 1;
— ‘show_updated‘ (integer): Показывать ли информацию о дате последнего изменения. По умолчанию: 0;
— ‘echo‘ (integer): вывести на экран (1) или вернуть закладки (0). По умолчанию: 1;
— ‘categorize‘ (integer): Группировать закладки по категориям (1) или нет (0). По умолчанию: 1;
— ‘title_li‘ (string): Оборачивает результат в тег <li> и выводит заголовок перед списком закладок. По умолчанию: ‘Bookmarks‘;
— ‘title_before‘ (string): HTML-код, который нужно добавить перед каждым заголовком. По умолчанию: ‘<h2>‘;
— ‘title_after‘ (string): HTML-код, который нужно добавить после каждого заголовка. По умолчанию: ‘</h2>‘;
— ‘class‘ (string): CSS-классы, которые будут указаны в каждой категории. По умолчанию: ‘linkcat‘;
— ‘category_before‘ (string): HTML-код, который нужно добавить перед каждой категорией. По умолчанию: ‘<li id=%id class=%class>‘;
— ‘category_after‘ (string): HTML-код, который нужно добавить после каждой категории. По умолчанию: ‘</li>‘;
— ‘category_orderby‘ (string): Как сортировать категории: ‘name‘, ‘id‘, ‘slug‘, и ‘count‘. По умолчанию: ‘name‘;
— ‘category_order‘ (string): Сортировать категории по возрастанию (‘ASC‘) или убыванию (‘DESC‘). По умолчанию: ‘ASC‘.

Применение

<?php

$args = array(

    // В случайном порядке.
    'orderby' => 'rand',

    // Выводим только 5 закладок.
    'limit' => 5,

    // Извлекаем закладки из определенной категории.
    'category_name' => 'Friends',

    // Ничего не выводим.
    'echo' => 0,

    // Использование произвольных классов CSS.
    'class' => 'friends-bookmark-list'

);

$bookmarks_list = wp_list_bookmarks( $args );

?>

Получаем массив закладок: get_bookmarks()

Тег возвращает массив ваших закладок из WordPress.

Параметры

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

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

— ‘orderby‘ (string): Как сортировать закладки: ‘name‘, ‘ID‘, ‘title‘, ‘date‘ и т. д. По умолчанию: ‘name‘;
— ‘order‘ (string): Сортировать по возрастанию (‘ASC‘) или убыванию (‘DESC‘). По умолчанию: ‘ASC‘;
— ‘limit‘ (integer): количество элементов, которые будут отображены. По умолчанию: -1, или все закладки;
— ‘category‘ (string): список разделенных запятыми ID категорий, из которых извлекаются элементы. По умолчанию: »;
— ‘category_name‘ (string): Название категории, из которой нужно выводить закладки. По умолчанию: »;
— ‘hide_invisible‘ (integer или bool): Показывать ли ссылки, отмеченные как “невидимые”. По умолчанию: 1|TRUE;
— ‘show_updated‘ (integer или bool): Показывать ли информацию о дате последнего изменения. По умолчанию: 0|FALSE;
— ‘include‘ (string): ID категорий закладок, которые нужно включить в список. По умолчанию: »;
— ‘exclude‘ (string): ID категорий закладок, которые нужно исключить. По умолчанию: ».

Применение

<?php

$args = array(
    'orderby' => 'title',
    'order' => 'ASC',
    'limit' => 15,
    'hide_invisible' => false,
    'exclude' => '12,16,23'
);

$bookmarks_array =  get_bookmarks( $args );

?>

Получаем данные закладок: get_bookmark()

Тег получает все данные об указанной закладке.

Параметры

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

  • $bookmark (смешанный тип, обязательный): ID закладки или объекта. По умолчанию: NULL;
  • $output (string, необязательный): Тип возвращаемого значения: OBJECT, ARRAY_N либо ARRAY_A. По умолчанию: OBJECT;
  • $filter (string, необязательный): Экранировать ли выдачу. Если вы хотите экранировать результат, то нужно установить значение ‘display‘. По умолчанию: ‘raw‘.

Применение

<?php

// Получаем поля из определенной закладки, и экранируем результат.
$bookmark_data( 19, OBJECT, 'display' );

?>

Получаем данные из полей отдельной закладки: get_bookmark_field()

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

Параметры

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

  • $field (integer, обязательное): Название поля. По умолчанию: NULL;
  • $bookmark (integer, обязательное): ID закладки или объекта. По умолчанию: NULL;
  • $context (string, необязательный): Как фильтровать значение поля: ‘raw‘, ‘edit‘, ‘attribute‘, ‘js‘, ‘db‘ либо ‘display‘. По умолчанию: ‘display‘.

Применение

<?php

// Получаем закладку с id 16 и экранируем, затем выводим ее заголовок.
echo get_bookmark_field( 'title', 16, 'display' );

?>

Получаем и выводим ссылку «Редактировать закладку»: get_edit_bookmark_link() и edit_bookmark_link()

Теги позволяют получать или выводить ссылку «Редактировать эту закладку», которую можно использовать в шаблонах.

Параметры

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

  • $bookmark_id (integer, обязательный): ID закладки. По умолчанию: 0.

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

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

Применение

<?php

// Получаем ссылку на редактирование текущей закладки.
$edit_bookmark_link = get_edit_bookmark_link();

// Получаем ссылку на редактирование определенной закладки.
$edit_bookmark_link = get_edit_bookmark_link( 98 );

// Выводим ссылку на редактирование текущей закладки.
edit_bookmark_link( __( 'Редактировать', 'translation-domain' ), '<strong>', '</strong>' );

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

?>

Получаем и выводим информацию о вашем сайте: get_bloginfo() и bloginfo()

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

Параметры

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

  • $show (string, необязательный): Информация, которую можно получать. Можно использовать одно из следующих значений:

— ‘url‘ (string): URL главной страницы;
— ‘wpurl‘ (string): URL до установленного WordPress;
— ‘description‘ (string): описание сайта;
— ‘rdf_url‘ (string): URL рассылки RDF/RSS 1.0;
— ‘rss_url‘ (string): URL рассылки RSS 0.92;
‘rss2_url‘ (string): URL рассылки RSS 2.0;
— ‘atom_url‘ (string): URL рассылки Atom;
— ‘comments_rss2_url‘ (string): URL рассылки RSS 2.0 для комментариев;
— ‘comments_atom_url‘ (string): URL рассылки Atom для комментариев;
— ‘pingback_url‘ (string): URL XMLRPC файла Pingback;
— ‘stylesheet_url‘ (string): URL основного CSS-файла шаблона;
— ‘stylesheet_directory‘ (string): URL директории с основным CSS-файлом шаблона;
— ‘template_directory‘ или ‘template_url‘ (string): URL директории активной темы оформления;
— ‘admin_email‘ (string): email-адрес, введенный при установке WordPress;
— ‘charset‘ (string): кодировка сайта;
— ‘html_type‘ (string): Тип контента HTML страницы вашего WordPress;
— ‘version‘ (string): версия WordPress;
— ‘language‘ (string): язык системы WordPress;
— ‘text_direction‘ (string): направление написания в языке (ltr – правостороннее, rtr – левостороннее);
— ‘name‘ (string): название сайта. По умолчанию: ‘name‘.

  • $filter (string, необязательный): Определяет фильтр, через который должны проходить возвращаемые значения. По умолчанию: ‘raw‘.

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

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

Применение

<?php

// Выводим название сайта.
bloginfo();

// Получаем таблицы стилей.
$stylesheet = get_bloginfo( 'stylesheet_url' );

// Выводим версию WordPress.
bloginfo( 'version' );

?>

Возвращаем и отображаем классы <body>: get_body_class() и body_class()

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

Параметры

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

  • $class (string или array, необязательный): Дополнительные CSS-классы, которые нужно добавить. По умолчанию: ».

Применение

<?php

// Выводим класс body.
body_class();

// Получаем класс body с дополнительным классом.
$body_class = get_body_class( 'mytheme-body' );

?>

Получаем и выводим навигационное меню: wp_nav_menu()

Тег возвращает или выводит навигационное меню. Этот тег шаблона применяется во всех темах WordPress, начиная с 2013 года.

Параметры

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

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

— ‘menu‘ (string): ID, slug или название меню. По умолчанию: »;
— ‘menu_class‘ (string): CSS-класс UL-элементов меню. По умолчанию: ‘menu‘;
— ‘menu_id‘ (string): ID UL-элемента меню. По умолчанию: menu slug, incremented;
— ‘container‘ (string): Оборачивать ли элементы UL, и в какие теги. По умолчанию: DIV;
— ‘container_class‘ (string): CSS-класс контейнера. По умолчанию: ‘menu-{menu slug}-container‘;
— ‘container_id‘ (string): ID-элемента оболочки. По умолчанию: »;
— ‘fallback_cb‘ (функция callback или bool): Название callback-функции, которая будет запускаться в случае отсутствия меню. Установите значение false, чтобы отключить функцию. По умолчанию: ‘wp_page_menu‘;
— ‘before‘ (string): Текст перед ссылкой. По умолчанию: »;
— ‘after‘ (string): Текст после ссылки. По умолчанию: »;
— ‘link_before‘ (string): Текст перед анкором каждой ссылки в меню. По умолчанию: »;
— ‘link_after‘ (строка запроса): Текст после анкора каждой ссылки в меню. По умолчанию: »;
— ‘echo‘ (bool): Выводить на экран или возвратить для обработки. По умолчанию: TRUE;
— ‘depth‘ (integer): Сколько уровней в иерархии отображать. По умолчанию: 0, или все;
— ‘walker‘ (object): состояние произвольного класса walker. По умолчанию: »;
— ‘theme_location‘ (string): Расположение темы оформления, которую нужно использовать. Параметр должен быть зарегистрирован в register_nav_menu(), чтобы его могли видеть и выбирать пользователи. По умолчанию: »;
— ‘items_wrap‘ (string): Как должны быть оформлены пункты списка. По умолчанию: <ul id="%1$s" class="%2$s">%3$s</ul>.

Применение

<?php

$args = array(
    'container_id' => 'primary-nav',
    'link_before' => '<i class="icon-link"></i>',
    'theme_location' => 'primary'
);

wp_nav_menu( $args );

?>

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

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

Параметры

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

  • $sep (string, необязательный): Текст, который будет использоваться в качестве разделителя. По умолчанию: ‘»‘;
  • $echo (bool, необязательный): Вывести на экран (TRUE) или возвратить для обработки (FALSE). По умолчанию: TRUE;
  • $seplocation (string, необязательный): Расположение разделителя и направление “хлебных крошек”. Установите значение ‘right‘, если хотите показывать ссылки в обратном порядке. По умолчанию: ».

Применение

<?php

wp_title( ' - ', true );

// Инвертируем направление разделителя.
$page_title = wp_title( ' &laquo ', false, 'right' );

?>

Получаем и выводим URL главной страницы: get_home_url() и home_url()

Теги возвращают URL главной страницы.

Параметры

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

  • $blog_id (integer, необязательный): ID блога. По умолчанию: NULL;
  • $path (string, необязательный): Произвольный путь, который будет использоваться в качестве URL. По умолчанию: »;
  • $scheme (string, необязательный): Схема, которая задает контекст URL домашней страницы (‘http‘, ‘https‘, илиrelative‘). По умолчанию: NULL.

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

  • $path (string, необязательный): Произвольный путь, который будет использоваться в качестве URL. По умолчанию: »;
  • $scheme (string, необязательный): Схема, которая задает контекст URL домашней страницы (‘http‘, ‘https‘, или ‘relative‘). По умолчанию: NULL.

Примечание: get_home_url() получает URL домашней страницы определенного блога, а home_url() получает URL текущего сайта. Запомните: ни одна из этих функций не выводит результат.

Применение

<?php

// Получаем URL домашней страницы определенного блога с приставкой https.
$home_url_of_petes_blog = get_home_url( 2, '', 'https' );

// Выводим текущий URL домашней страницы с небольшим дополнением.
echo home_url( '?rel=navlink' );

?>

Получаем и выводим URL сайта: get_site_url() и site_url()

Теги получают и выводят «URL сайта» — адрес, по которому установлен WordPress.

Параметры

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

  • $blog_id (integer, необязательный): ID блога. По умолчанию: текущий сайт;
  • $path (string, необязательный): Произвольный путь, который будет использоваться в качестве URL. По умолчанию: »;
  • $scheme (string, необязательный): Схема, которая задает контекст URL домашней страницы (‘http‘, ‘https‘, илиrelative‘). По умолчанию: обычное или защищенное соединение, в зависимости от is_ssl().

Примечание: Как и в случае с home_url() и get_home_url(), не стоит рассматривать эти функции, как “одна получает, вторая выводит”. get_site_url() получает URL определенного блога, функция site_url() получает URL текущего сайта. Запомните: ни одна из функций не выводит результат.

Применение

<?php

// Получаем URL определенного блога на сайте с использованием https.
$site_url_of_janes_blog = get_site_url( 3, '', 'https' );

// Выводит URL текущего сайта.
echo site_url();

?>

Получаем ID текущего блога: get_current_blog_id()

Тег просто получает ID текущего блога.

Параметры

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

Применение

<?php

get_current_blog_id();

?>

Возвращаем и выводим URL админ-панели (консоли): get_admin_url() и admin_url()

Эти теги возвращают и выводят URL консоли.

Параметры

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

  • $blog_id (integer, необязательный): ID блога. По умолчанию: текущий сайт;
  • $path (string, необязательный): Произвольный путь, который будет использоваться в качестве URL. По умолчанию: »;
  • $scheme (string, необязательный): Схема, которая будет использоваться. ‘admin‘ учитывает заданную схему (при помощи функции is_ssl()), но вы можете переписать ее при помощи этого параметра. Принимаются значения ‘http‘, ‘https‘, ‘admin‘, ‘rpc‘, ‘login‘ и ‘login_post‘. По умолчанию: ‘admin‘.

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

  • $path (string, необязательный): Произвольный путь, который будет использоваться в качестве URL. По умолчанию: ».
  • $scheme (string, необязательный): Схема, которая будет использоваться. ‘admin‘ учитывает заданную схему (при помощи функции is_ssl()), но вы можете переписать ее, выставив параметр на ‘http‘ или ‘https‘. По умолчанию: ‘admin‘.

Применение

<?php

// Получаем URL консоли текущего блога. 
$admin_url = get_admin_url();

// Выводим URL консоли с принудительно защищенным соединением.
admin_url( ' ', 'https' );

?>

Возвращаем и выводим постоянную ссылку на тип рассылки: get_feed_link() и the_feed_link()

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

Параметры

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

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

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

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

Применение

<?php

// Получаем ссылку на тип рассылки по умолчанию.
get_feed_link();

// Выводим ссылку на рассылку Atom.
the_feed_link( __( 'Рассылка Atom', 'translation-domain' ), 'atom' );

?>

Окончание ссылки со слэшем или без: user_trailingslashit()

Тег проверяет структуру постоянной ссылки, и добавляет (или удаляет) слэш в конце заданного URL.

Параметры

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

  • $string (string, необязательный): URL со слэшем на конце или без него. По умолчанию: NULL;
  • $type_of_url (string, необязательный): Технически этот параметр пока еще не устарел, но его не используют в виде функции.

Применение

<?php

$url_to_fix = user_trailingslashit( get_home_url() . 'some-special-page' );

?>

Определяем день, с которого начинается неделя: calendar_week_mod()

Этот «странный» тег получает количество дней, прошедших с начала недели. Производится это при помощи простого деления с остатком.

Параметры

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

  • $number (integer, обязательный): Количество дней, прошедших с начала недели. По умолчанию: 0.

Применение

<?php

echo calendar_week_mod( 199 );

?>

Получаем и выводим календарь: get_calendar()

Этот тег шаблона получает и выводит календарь.

Параметры

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

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

Применение

<?php

// Получаем календарь.
$my_calendar = get_calendar( true, false );

// Выводим календарь. 
get_calendar();

?>

В завершение

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

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

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