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

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

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

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

Прекрасные новости – присвоить рубрики и метки к медиа файлам можно, и достаточно просто. Вы можете присваивать рубрики и метки к вашим вложениям, добавив простой код к файлу functions.php вашей темы; также можете создавать произвольные таксономии, которые будут применяться к вложениям.

В данном руководстве я покажу вам, как это осуществить всего за 10 минут (или даже меньше).

Экран редактирования медиафайлов

В настоящий момент экран редактирования медиа файлов практически пуст, в нем нет никаких рубрик, меток или таксономий:

attachments1

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

Применение рубрик к вложениям

На первом шаге мы подключим рубрики для вложений. Сделать это можно, воспользовавшись функцией 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' );

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

attachments2

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

attachments3

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

Применение меток к вложениям

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

// 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' );

Как и в предыдущем примере, на экране редактирования медиа файлов появится новый раздел – на сей раз с метками:

attachments4

Также появится столбец с метками:

attachments5

Идем дальше – создание произвольной таксономии для вложений

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

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

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

// 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 );

Экран редактирования медиа теперь выводит новую таксономию:

attachments6

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

attachments7

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

Когда может пригодиться данная техника?

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

  • Применение таксономий (включая рубрики и метки) к вложениям может использоваться на практике в следующих ситуациях:
  • Создание произвольного шаблона attachment.php для вывода прикрепленных изображений в стиле галерей, используя архивные страницы для вывода изображений из разных рубрик или мест.
  • Создание шаблонов для определенных таксономий или термов с целью вывода вложений по-разному на сайте – к примеру, используя таксономию location, вы можете создать шаблон taxonomy-location-uk.php для вывода архивов изображений из Великобритании, добавив к ним определенную стилизацию.
  • Категоризация PDF вложений на сайте с большим их количеством, а также использование архивных страниц для вывода файлов по теме, разделам, медиа типу и другим факторам, которые требуются вам в вашем проекте.
  • В шаблоне для текущей таксономии вы можете вывести ссылку на все прикрепления с запрошенным термом сразу под списком записей с указанным термом, дополненным прямыми ссылками на прикрепления – вы можете использовать два произвольных запроса в вашем шаблоне.

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

Источник: code.tutsplus.com

Сохранено из oddstyle.ru

Добавить комментарий

%d такие блоггеры, как: