Як приєднати існуючу таксономію до нового типу запису в WordPress

Як приєднати існуючу таксономію до нового типу запису в WordPress

Під час доопрацювання сторонніх плагінів або купленої теми ми можемо зіткнутися з ситуацією, коли до створеного нами кастомного типу запису (у нашому випадку — “фрукти”, див. цю статтю) потрібно прикріпити раніше (кимось іншим) створену таксономію (у нашому прикладі — “дерево”).

Існує два варіанти вирішення цього завдання:

  1. Можна відредагувати існуючий код. Але це не дуже добре, оскільки при оновленні плагіна або теми наші зміни буде втрачено, і доведеться знову все вносити вручну (якщо згадаємо).
  2. Внести потрібні правки за допомогою Хуків і Фільтрів WordPress.

У короткому прикладі нижче наведено весь необхідний код:

add_action('init', function()
{
	register_taxonomy_for_object_type('tree', 'fruit');
});

add_filter('register_taxonomy_args', function($args, $taxonomy)
{
	if($taxonomy == 'tree')
	{
		$args['show_admin_column'] = true;
	}

	return $args;
}, 10, 2);

Розглянемо його детальніше:

add_action('init', function()
{
	register_taxonomy_for_object_type('tree', 'fruit');
});

Функція ядра WP “register_taxonomy_for_object_type” забезпечує прив’язку таксономії до типу запису. Тобто, за її допомогою можна зв’язати будь-які типи записів і таксономії між собою (це не обов’язково робити лише через функцію реєстрації таксономії).

Наступний код забезпечує відображення колонки таксономії “Дерево” у таблиці зі списком записів “Фрукти”:

add_filter('register_taxonomy_args', function($args, $taxonomy)
{
	if($taxonomy == 'tree')
	{
		$args['show_admin_column'] = true;
	}

	return $args;
}, 10, 2);

На цьому все.

Пости на схожі теми

З вашим WordPress сайтом проблеми? потрібний додатковий функціонал? нестандартний плагін чи згорнути нову сторінку?
Тоді напишіть мені через форму зворотного зв'язку, і я намагатимусь вам допомогти.

Напишіть коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *