Главная Новости

Добавляем рубрику, таксономию и метки для файлов WordPress


Опубликовано: 01.09.2018

видео Добавляем рубрику, таксономию и метки для файлов WordPress

Основы WordPress. Серия десятая. Иерархия рубрик

Вас не раздражает, что WordPress не позволяет присвоить рубрику или метки вашим изображениям или загруженным файлам?



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

| Скачать исходники |


Вывод названия и описания рубрик на WordPress - Константин Хмелев

Хорошая новость: это на удивление просто сделать! Вы сможете добавить рубрики и метки к вашим прикрепленным файлам, добавив простой код в файл functions.php вашей темы или плагин, вы также сможете создать свою таксономию, которая будет применима к прикрепленным файлам.

В этом руководстве я покажу вам, как это сделать и очень быстро — это займет не больше 10 минут !

Что такое таксономия?

Как сказано в :

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

Например, есть набор разных видов животных. Я могу группировать их вместе по разным характеристикам и затем присвоить этим группам имена. С этим большинство сталкивается на школьных уроках биологии и это не что иное, как таксономия.

В WordPress "таксономия" — механизм группирования для некоторых записей (или ссылок, или типов постов).

Что вам нужно, чтобы применить это руководство

Вам понадобится:

Установленный WordPress. Доступ к файлу functions.php вашей темы или FTP доступ, чтобы вы могли создать или загрузить плагин. Текстовый редактор.

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

Подготовка: Редактирование медиа

Страница редактирования медиафайлов сама по себе достаточно бедна, там нет рубрик, меток или таксономий:

По умолчанию у вас нет возможности выбрать какую-то существующую рубрику или метку — но вы можете это изменить.

Применение рубрик

Первый шаг — включение рубрики для прикрепленных файлов. Вы можете сделать это с помощью функции register_taxonomy_for_object_type() . В файл плагина или файл functions.php вашей темы добавьте следующее:

function wptp_add_categories_to_attachments() { register_taxonomy_for_object_type( 'category', 'attachment' ); } add_action( 'init' , 'wptp_add_categories_to_attachments' );

Сохраните файл и обновите страницу редактирования медиа. Вы увидите, что рубрики теперь доступны:

Также колонка для рубрик появится в медиа-библиотеке, как видите:

Применение меток

Если вы предпочитаете работать с метками, а не с рубриками (или и с тем, и с другим), вы можете использовать ту же функцию. Добавьте следующий код в файл темы или плагина:

// apply tags to attachments function wptp_add_tags_to_attachments() { register_taxonomy_for_object_type( 'post_tag', 'attachment' ); } add_action( 'init' , 'wptp_add_tags_to_attachments' );

Подобно предыдущему варианту, это добавит метки на страницу редактирования медиафайлов:

Это также добавит колонку меток в медиа-библиотеку:

Копнем глубже: своя таксономия

Может случиться, что вы не захотите работать с существующими рубриками или метками при классификации ваших медиафайлов, в таком случае вы можете зарегистрировать свою таксономию и применить ее к типу записи ‘ attachment ’.

В примере выше я добавил к моему изображению метку, чтобы показать, откуда оно было взято. Допустим, я хочу создать иерархическую таксономию под названием ‘ Locations ’, которую я смогу использовать для классификации и отображения всех моих изображений.

Вы можете сделать это с помощью функции register_taxonomy() . Добавьте в файл темы или плагина следующее:

// register new taxonomy which applies to attachments function wptp_add_location_taxonomy() { $labels = array( 'name' => 'Locations', 'singular_name' => 'Location', 'search_items' => 'Search Locations', 'all_items' => 'All Locations', 'parent_item' => 'Parent Location', 'parent_item_colon' => 'Parent Location:', 'edit_item' => 'Edit Location', 'update_item' => 'Update Location', 'add_new_item' => 'Add New Location', 'new_item_name' => 'New Location Name', 'menu_name' => 'Location', ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'query_var' => 'true', 'rewrite' => 'true', 'show_admin_column' => 'true', ); register_taxonomy( 'location', 'attachment', $args ); } add_action( 'init', 'wptp_add_location_taxonomy' );

Этот код создаст новую иерархическую таксономию, которая будет использоваться только для прикрепленных файлов.

Если вы хотите применить ее для других типов контента, вам нужно заменить параметр ' attachment ' в функции register_taxonomy() на массив, содержащий сокращения для всех типов контента, которые вы хотите включить.

Например:

register_taxonomy( 'location', array( 'attachment', 'post' ), $args );

Теперь страница редактирования медиафайлов отображает новую таксономию:

Поскольку в свой код я включил аргумент ' show_admin_column ', страница медиа-библиотеки тоже ее включает:

Все! Теперь у вас есть рубрики, метки и свой тип записи для работы с прикрепленными медиафайлами.

Итог и использование этого подхода

Как вы увидели, вы можете применить рубрики и метки к прикрепленным медиафайлам, используя функцию register_taxonomy_for_object_type() . Вы также можете создать новую таксономию с помощью register_taxonomy() и применить ее к прикрепленным файлам (только к ним или также к другим типам контента).

Применение таксономий (в т.ч. рубрик и меток) к прикрепленным файлам можно использовать на практике:

Создать свой шаблон attachment.php чтобы отображать прикрепленные изображения в виде галереи, используя страницы архива для отображения изображений из разных рубрик. Создать файл шаблона для отдельных таксономий или терминов для разного отображения прикрепленных изображений — например используя таксономию ‘ location ’ вы можете создать файл шаблона location-uk.php чтобы показывать архив изображений из UK в каком-то специфическом стиле. На сайте с большим количеством прикрепленных PDF файлов вы можете разбить их по категориям и использовать страницы архива для отображения этих файлов по теме, разделу, типу — так, как будет нужно вашему проекту. В файле шаблона для определенной таксономии помимо списка записей по теме отображать список на все прикрепленные файлы с прямыми ссылками на файлы — вам нужно будет использовать для этого всего два запроса.

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

Источник:
rss