WordPress 4.1 для разработчиков тем: жизнь стала проще

WordPress 4.1 для разработчиков тем: жизнь стала проще
WordPress 4.1 был версией, которую разработчики тем долго ждали. Специально для этой целевой аудитории есть масса нововведений. Стала доступна не только новая стандартная тема «Twenty Fifteen», но и еще несколько новых функций и возможностей. Эта новая функциональность значительно снижает сложность разработки темы. В следующей статье мы подробно рассмотрим новые функции и покажем, как их можно использовать в процессе разработки новой темы.

1. Автоматический тег заголовка

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

Новый и настоятельно рекомендуемый подход — использование add_theme_support() для тега title. Необходимый код относительно прост:

Новая функция тега заголовка

Через нотацию через поддержку тем WordPress было сказано, что они должны генерироваться автоматически. Это делается с помощью функции _wp_render_title_tag() который цепляется за wp_head. Фильтры wp_title все еще можно использовать для настройки отображения заголовка.

Возможности для навигации и разбиения на страницы

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

Еще одним преимуществом новых навигационных тегов является то, что их больше не нужно переводить. Правильные переводы уже (почти полностью) доступны в ядре WordPress.

2. Почтовая навигация между статьями

Две функции пост-навигации the_post_navigation() и get_the_post_navigation() предоставить решение для ссылки на предыдущую и следующую статью. Эти функции вступают в силу при просмотре статьи (single.php).

Функции принимают массив аргументов:

  • prev_text: текст ссылки на предыдущие статьи, стандартное название статьи
  • next_text: текст для следующих статей, стандартным является название статьи.
  • screen_reader_text: текст для программ чтения с экрана.

Стандартный вывод исходного кода HTML:

HTML-вывод после навигации

3. Пост-навигация между страницами статей

Две функции, представленные в 2., также можно использовать для навигации между отдельными страницами обзоров статей (index.php и archives.php).

В этом случае функции принимают массив следующих аргументов:

  • prev_text: текст ссылки на предыдущую страницу статьи, стандартными являются «старые записи».
  • next_text: текст для следующей страницы статьи, стандартно «более новые записи».
  • screen_reader_text: текст для скринридеров

Стандартный вывод исходного кода HTML:

Вывод HTML для старых/новых артикулов

4. Разбивка на страницы постов — пронумерованная навигация по страницам блога

Post Pagination — чрезвычайно интересная новая функция, поскольку она позволяет пользователю создать полную навигацию с разбивкой на страницы всего с одним тегом, включенным в файл темы. Новый тег может быть предоставлен и настроен со всеми аргументами старого тега. paginate_links(). В ближайшее время у нас будет статья по созданию идеально пронумерованной навигации здесь, на noupe.com. Тот факт, что разбивка на страницы была возможна почти так же легко до WordPress 4.1 с помощью тега шаблона paginate_links() наверное известно.

Подборка аргументов для этой функции:

  • mid_size: сколько номеров страниц отображается рядом с текущей — по умолчанию 1
  • prev_text: текст со ссылками на предыдущую страницу — по умолчанию «предыдущая»
  • next_text: текст со ссылками на следующую страницу — по умолчанию «следующая»
  • screen_reader_text: текст для программ чтения с экрана

Тексты ссылок можно корректировать по вашему желанию.

Вот стандартный вывод HTML для the_posts_pagination():

html-вывод-фон-после-разбиения на страницы

Функции для архивов

Архивы выполняют важную функцию в WordPress. WordPress поддерживает таксономию (категории, теги и форматы записей) и архивы дат, такие как архивы по дням, месяцам или годам. Более того, две таксономии поддерживают описания архивов, то есть архивы по категориям и тегам. Эти функции позволяют добавлять описание для каждой категории и каждого дня.

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

5. Название архива

Две функции the_archive_title() и get_the_archive_title() показать название архива с подходящим префиксом, который зависит от типа отображаемого архива:

  • Категория: для архивов категорий
  • Тег: для архивов тегов
  • Автор: для авторских архивов
  • Год:, месяц: и день: для архивов по году, месяцу и тегу
  • Кроме того, галерея, изображение, видео, цитата, ссылка, уведомления о статусе, аудио и чат: для архивов по формату сообщения.
  • Архивы: для пользовательских архивов

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

the_archive_title() функция принимает два аргумента, $до и $после. Эти аргументы можно использовать для отображения дополнительного текста до и после заголовка архива.

6. Описания архивов

Две функции the_archive_description() и get_the_archive_description() отвечают за отображение описаний таксономий. Это работает для категорий, тегов и определяемых пользователем таксономий.

the_archive_description() тег шаблона принимает два аргумента $before и $after. Эти аргументы можно использовать для отображения дополнительного текста до и после описания.

7. Текст для чтения с экрана

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

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

css-zum-ausblenden-фон-sreenreader-текст

8. — Устаревшие ссылки в меню администратора

Не что иное, как ожидаемая версия WordPress 4.1 снова использует слово «deprecated». Устаревшие помечает устаревшие функции, которые, хотя они все еще работают, больше не должны использоваться. В версии 4.1 пункт меню администратора для фона стал короткой соломинкой. Оба пункта меню по-прежнему доступны в пункте меню «Дизайн», но они больше не ссылаются на отдельные страницы (как раньше). Обе ссылки ведут к новому настройщику темы. Автономные ссылки, скорее всего, будут удалены из меню в следующей версии WordPress.

Две устаревшие ссылки под

Если вы хотите добавить в тему поддержку определяемого пользователем фона, вам больше не нужно добавлять функции обратного вызова для admin-head-callback и admin-preview-callback аргументы за add_theme_support('custom-background'). Все делается исключительно через настройщик темы. Замечательное введение в настройщик темы и лучшие практики программирования функций предоставляет новая стандартная тема WordPress Twenty Fifteen.

Заключение

Новые функции не блещут, но в некоторых случаях значительно облегчают работу разработчиков темы. Если вы хотите узнать больше о новых функциях и оптимальном способе их использования, я рекомендую вам поближе познакомиться со стартовой темой _s (Underscores) на Github. Он полностью обновлен со всеми новыми функциями WordPress и, кроме того, предлагает поддержку более старых версий WordPress. Я могу рекомендовать новую тему Twenty Fifteen в качестве шаблона для изучения новых функций без оговорок, благодаря оптимальной реализации всех новых функций.

Ссылки по теме

(дпе)