Зарядите свои категории WordPress с помощью бесплатных плагинов
Опубликовано: 2022-02-16Недавно я обдумывал процесс создания веб-сайта о путешествиях. У нас были бы сообщения в блогах о конкретных курортах, а затем пользовательская таксономия под названием «Направления», которая содержала бы такие вещи, как «Гавайи» и «Канарские острова». WordPress был создан для таких вещей, поэтому сортировать и упорядочивать сообщения по этим направлениям можно быстро и легко.
Проблема в том, что, например, когда я захожу на страницу архива сообщений о Гавайях, наши возможности получения информации о Гавайях довольно ограничены. По умолчанию термины могут иметь только имя, простое текстовое описание, слаг и соответствующий родитель.
Что мне действительно нужно, так это избранное изображение, настраиваемые поля и поле динамического описания. Я мог бы получить все эти вещи, если бы сделал пункты назначения настраиваемым типом сообщений, но тогда я бы отказался от замечательных встроенных отношений, пользовательского интерфейса и скорости таксономии.
К счастью, мы можем получить все эти вещи для терминов таксономии, и мы можем сделать это с помощью бесплатных плагинов. Вот как.
Популярные изображения
Мне нужно избранное изображение, чтобы я мог отобразить его в верхней части моей страницы термина. Посты с термином Гавайи получат красивую пляжную сцену вверху.
Для этого мы будем использовать плагин «Simple Featured Image». Он давно не обновлялся, но до сих пор отлично работает.
SFI создает страницу настроек в меню «Настройки», и там вы устанавливаете, в какой таксономии вы хотите, чтобы она отображалась. Не забывайте об этом, иначе вы будете ужасно смущены тем, как его использовать!
После его установки и активации в форме для новых и существующих условий вы увидите следующее поле:
Когда вы нажимаете кнопку «Загрузить/Добавить», открывается обычный пользовательский интерфейс медиатеки WordPress, и вы устанавливаете избранное изображение, как и в случае с публикацией.
После того, как вы выбрали изображение, оно выглядит так:
А затем на странице администрирования списка терминов вы увидите что-то вроде этого:
И тогда у нас есть избранное изображение!
Динамическое описание
Поле описания терминов представляет собой обычный текст, что неплохо, если вы не хотите ничего более интересного. Мне нравится добавлять редактор TinyMCE, который раньше использовался по умолчанию в WordPress. Для этого воспользуемся плагином «Визуальный редактор описания терминов».
ВАЖНО: Плагин Yoast SEO также включает эту функцию. Если вы уже используете Yoast, вам это не нужно. Если вы не используете Yoast, не устанавливайте его ТОЛЬКО для этой функции.
Для этого плагина нет настроек, он просто делает все описания терминов во всех таксономиях редактором TinyMCE. Это выглядит так:
И тогда главная страница администрирования списка терминов выглядит примерно так:
Итак, теперь у нас есть избранное изображение и более качественные описания, но мне также нужны настраиваемые поля. Вот как мы это сделаем.
Настраиваемые поля
Term Meta существует как функция в WordPress уже довольно давно, но использовать их все еще довольно сложно. В Smashing Magazine есть замечательная статья о том, как создавать их самостоятельно с помощью кода.
Вы также можете использовать большинство распространенных библиотек настраиваемых полей, таких как MetaBox.io и CMB2, чтобы делать это с помощью кода, но простым и стандартизированным способом.
Для этого поста мы выберем самый простой способ — расширенные настраиваемые поля. Мы используем бесплатную версию, которую можно найти на WordPress.org. Pro-версия, очевидно, тоже будет работать.
Если вы уже знакомы с ACF, чтобы получить настраиваемые поля в Условиях, ваше местоположение должно выглядеть следующим образом:
Я добавил группу полей под названием «Детали назначения» со стандартным полем типа «URL», например:
А в редакторе терминов это выглядит так:
Дополнительные настраиваемые поля
Я не добавлял больше для своих примеров, но я уверен, что если вы знакомы с ACF или любым другим менеджером настраиваемых полей, вы можете себе представить его мощь. Вот еще несколько примеров настраиваемых полей, которые вы можете добавить:

- Поля координат, чтобы вы могли визуализировать карту Google
- Фактическое поле карты, на которое вы можете просто щелкнуть, чтобы получить координаты
- Метаинформация о пункте назначения, такая как население, качество дорог, доступ к международному аэропорту, важные культурные детали и т. д.
Список можно продолжать настолько, насколько хватит вашего воображения.
Использование этой информации
Теперь, когда ваши термины таксономии являются источником информации, как вы видите эту информацию на своем веб-сайте?
Создание файла шаблона
Для этого вы будете создавать и редактировать файл шаблона. В большинстве современных тем есть файл с именем archive.php , и это файл, который отображает ваш архив сообщений. В некоторых темах также есть файл с именем category.php , и этот файл используется для отображения архива сообщений в определенных категориях.
Если вы добавили все вышеперечисленные поля в таксономию категорий по умолчанию, связанную с сообщениями, вы захотите сделать это в следующей части в category.php . Если он не существует, вы можете скопировать archive.php в category.php .
Если вы используете пользовательскую таксономию, как это сделал я, вам нужно скопировать либо category.php , либо archive.php в taxonomy-{taxonomy}.php , где {taxonomy} — это слаг вашей таксономии. Вы можете найти слаг, перейдя на страницу администрирования таксономии и просмотрев URL-адрес. Я создал таксономию Destinations, но мой слаг — travel_destination , и выглядит он так:
Итак, мой файл шаблона называется taxonomy-travel_destination.php .
Получение информации
Популярные изображения
Плагин, который мы использовали, имеет пользовательскую функцию для получения изображения. Вы можете отобразить избранное изображение таксономии в интерфейсе, используя эту функцию php.
wpsfi_display_image( $termID, $size = 'medium', $class = '', $width = '', $height = '' );
wpsfi_display_image( $termID, $size = 'medium', $class = '', $width = '', $height = '' );
Параметры:
- $termID – (Целое число) идентификатор термина таксономии
- $size – (строка) Размер изображения
- $class — (строка) Добавить пользовательский класс
- $width – (Целое число) Ширина в пикселях
- $height – (Целое число) Высота в пикселях
Описание
На самом деле мы не изменили то, как работает описание, только то, что мы можем ввести в него в форме. Поэтому функции WordPress по умолчанию работают для печати описаний.
get_the_archive_description() получит описание и позволит вам поместить его в переменную или обработать с помощью функции очистки или чего-то еще. Затем вы напечатаете эту переменную следующим образом:
$description = get_the_archive_description(); print wp_kses_post( $description );
$description = get_the_archive_description(); print wp_kses_post( $description );
В качестве альтернативы вы можете просто использовать the_archive_description() , который будет отображать содержимое для вас.
Настраиваемые поля
То, как вы получаете свои настраиваемые поля, зависит от того, как вы их создали. Если вы создали свой собственный плагин, следуя инструкциям в этой статье журнала Smashing Magazine, вы захотите использовать функцию WordPress под названием get_term_meta() , которая работает точно так же, как get_post_meta() . Вы передаете ему TermID, ключ нужного поля и флаг, показывающий, является ли оно единственным или множественным.
Если вы использовали такую библиотеку, как ACF, Metabox.io или CMB2, вы, вероятно, захотите использовать их пользовательские функции для получения данных.
Например, мы использовали ACF для создания поля с именем more_information. Чтобы получить содержимое этого поля, вы должны использовать что-то вроде этого:
// get the current taxonomy term $term = get_queried_object(); // var $term_url = get_field( 'more_information', $term ); // make a link echo '<a href="' . esc_url( $term_url ) . '">More Information</a>';
// get the current taxonomy term $term = get_queried_object(); // var $term_url = get_field( 'more_information', $term ); // make a link echo '<a href="' . esc_url( $term_url ) . '">More Information</a>';
CMB2 и Metabox.io имеют свои собственные методы, вы можете изучить их в документации.
Резюме
Итак, теперь на моем воображаемом туристическом веб-сайте каждое место, например, Гавайи, будет иметь красивый баннер вверху, информацию о пункте назначения и некоторую дополнительную информацию, например, ссылку для получения дополнительной информации и все, что я хочу разместить. в.
Это превращает страницы вашего архива из простого списка сообщений в нечто, похожее на хорошо спроектированную веб-страницу.