Більше результатів...

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
теми
Уроки
Хакі

Вас не дратує, що WordPress не дозволяє присвоїти рубрику або мітки вашим зображенням чи завантаженим файлам?

Уявіть, як це могло бути корисно: ви могли б створити динамічні галереї зображень з окремих місць або окремих типів (пейзажі, абстракція), або ви могли б створити сторінки-списки для сайтів з великою кількістю прикріплених PDF-файлів.

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!

| Завантажити вихідні |

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

У цьому посібнику я покажу вам, як це зробити і дуже швидко це займе не більше 10 хвилин!

Що таке таксономія?

Як сказано в WordPress Codex:

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

Наприклад, є набір різних видів тварин. Я можу групувати їх разом за різними характеристиками і потім надати цим групам імена. З цим більшість стикається на шкільних уроках біології і це не що інше, як таксономія.

У WordPress "таксономія" - механізм групування для деяких записів (або посилань або типів постів).

Що вам потрібно, щоб застосувати цей посібник

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

  • Встановлений WordPress.
  • Доступ до файлу functions.php вашої теми або FTP доступу, щоб ви могли створити або завантажити плагін.
  • Текстовий редактор.

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

Підготовка: Редагування медіа

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

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

За замовчуванням у вас немає можливості вибрати якусь існуючу рубрику або мітку, але ви можете це змінити.

Застосування рубрик

Перший крок – увімкнення рубрики для прикріплених файлів. Ви можете зробити це за допомогою функції 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' );

Збережіть файл та оновіть сторінку редагування медіа. Ви побачите, що рубрики тепер доступні:

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

Також колонка для рубрик з'явиться у медіа-бібліотеці, як бачите:

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

Застосування міток

Якщо ви вважаєте за краще працювати з мітками, а не з рубриками (або з тим, і з іншим), ви можете використовувати ту ж функцію. Додайте наступний код до файлу теми або плагіна:

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

Подібно до попереднього варіанту, це додасть мітки на сторінку редагування медіафайлів:

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

Це також додасть колонку міток у медіа-бібліотеку:

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

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

Може статися, що ви не захочете працювати з існуючими рубриками або мітками при класифікації медіафайлів, у такому випадку ви можете зареєструвати свою таксономію та застосувати її до типу запису 'прихильність.

У прикладі вище я додав до мого зображення мітку, щоб показати, звідки вона була взята. Допустимо, я хочу створити ієрархічну таксономію під назвою 'Місце проживання', яку я зможу використовувати для класифікації та відображення всіх моїх зображень.

Ви можете зробити це за допомогою функції 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' );

Цей код створить нову ієрархічну таксономію, яка використовуватиметься лише для прикріплених файлів.

Якщо ви бажаєте застосувати її для інших типів контенту, вам потрібно замінити параметр 'прихильність' у функції register_taxonomy() масив, що містить скорочення для всіх типів контенту, які ви хочете включити.

Наприклад:

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

Тепер сторінка редагування медіафайлів відображає нову таксономію:

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

Оскільки до свого коду я включив аргумент 'show_admin_column', сторінка медіа-бібліотеки також її включає:

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

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

Підсумок та використання цього підходу

Як ви побачили, ви можете застосувати рубрики та мітки до прикріплених медіафайлів, використовуючи функцію register_taxonomy_for_object_type(). Ви також можете створити нову таксономію за допомогою register_taxonomy() і застосувати її до прикріплених файлів (лише до них або інших типів контенту).

Застосування таксономій (в т.ч. рубрик та міток) до прикріплених файлів можна використовувати на практиці:

  • Створити свій шаблон вкладення.php щоб відображати прикріплені зображення у вигляді галереї, використовуючи сторінки архіву для відображення зображень із різних рубрик.
  • Створити файл шаблону для окремих таксономій або термінів для різного відображення прикріплених зображень, наприклад, використовуючи таксономію 'розташування' ви можете створити файл шаблону location-uk.php щоб показувати архів зображень із UK у якомусь специфічному стилі.
  • На сайті з великою кількістю прикріплених PDF файлів ви можете розбити їх за категоріями та використовувати сторінки архіву для відображення цих файлів за темою, розділом, типом — так, як потрібно вашому проекту.
  • У файлі шаблону для певної таксономії крім списку записів на тему відображати список на всі прикріплені файли з прямими посиланнями на файли - вам потрібно буде використовувати для цього всього два запити.

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

Джерело:WP.tutsplus.com
inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, який спеціалізується на створенні сайтів на WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 14

Діма:

Здрастуйте, підкажіть, як зробити те саме для постів. Під кожною міткою виводиться список усіх постів цієї мітки.

WPcafe.org:

Можливо, цей урок допоможе вам вивести список постів:

https://hostenko.com/wpcafe/tutorials/sozdaem-short-kod-dlya-vyivoda-spiska-zapisey-s-raznyimi-parametrami/

гість:

Скажіть як додати ще одну мітку для запису? Чи можете наштовхнути на ідею? Мені потрібно щоб окрім існуючого поля з позначками було ще окреме

WPcafe.org:

Якщо коротко, потрібно створювати додатковий метабокс і свою кастомну таксономію. Детальніше ми писали про це в попередніх уроках, подивіться в пошуку.

Олександр:

Підкажіть як вибрати картинки з певними тегами, щоб потім їх у галереї використовувати?

Євген:

Чи можна створити таксономію без slug? Щоб запис мав адресу сайт/запис?
І якщо вже існує таксономія із slug, як її прибрати? Спершу прибрати її в коді, а потім замінити адреси в базі даних?

Андрій:

Здрастуйте, Ви можете навести код, який зареєструє новий розділ з мітками для постів. Я маю введу, щоб нові позначки відображалися не в медіафайлах, а записах.

Сергій:

Автор, будь ласка, скажи як ти зробив наприкінці сайту в рубриці схожі пости(незнаю як правильно назвати) такі картинки із заокругленими кінцями. Боже, я подивився у вкладці теми там саме, наприклад напис на картинці GOODWEB. Дуже прошу, підкажи як такі зробити і що можна було б написати текст біля них. У мене вордпрес

WPcafe.org:

Є безліч безкоштовних плагінів для вставки блоку зі схожими постами. Зробіть пошук wordpress related posts. А ці картинки — вони беруться з мініатюр кожного посту, вони закруглені тому, що вони закруглялися у фотошопі, от і весь секрет.

Сергій:

Добрий день. Є питання, опишу коротко завдання щоб простіше було мене зрозуміти)) Кожна запис являє собою набір фото з об'єкта. Фотки потрібно розділити на групи. Чи можна записувати динамічне додавання цих текстових полів? Допустимо тицьнув на кнопочку «+» і нижче з'явилося таке ж текстове поле, склав туди пачку фоток, потрібен ще гурт, знову тикаємо «+»… І, якщо це групи і якось треба їх визначати що і де, то до кожного цього полю свою мітку б, ну або влаштував би варіант просто з готовим списком, що розкривається замість міток, біля кожного текстового поля. Ось було б ідеально, як мені здається:) Чи може їсти ще думки як подібне реалізувати? Може питання дурні, просто з WP тільки намагаюся потоваришувати)) Заздалегідь дякую за будь-яку інфу :)

Сергій:

Advanced Custom Fields відмінний плагін, з поставленим завданням впорався на відмінно!

Олексій:

Здравствуйте, прописав Ваш код:

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

у файлі functions.php

у медіафайлах з'явилися рубрики та мітки. Але біда в тому, що на сторінках самих рубрик та міток не виводяться посилання на медіафайли.

Який код дописати в archive.php, щоб атачменти з'явилися поряд з постами?

Олексій:

Добрий день.
А як зробити висновок списку вкладень для певної мітки/рубрики?
Тобто мітка прописалася біля вкладення, але коли по ній переходиш, нічого не знаходиться.
Дякуємо

Alex:

Дякую, дуже гарна стаття!
Допоможіть мені в медіатеці зробити випадаюче меню для рубрик або міток зображень! |Тоєсть я додав рубрики та мітки для картинок, і тепер хочу щоб вгорі у мене був список, в якому я можу вибрати відповідну рубрику! Заздалегідь вдячний! PS не хочу використовувати додаткові плагіни, хочу вивести через файл function.php

Додати коментар або відгук