Как присоединить существующую таксономию к новому типу записи в 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 сайтом проблемы? нужен дополнительный функционал? нестандартный плагин или сверстать новую страницу?
Тогда напишите мне через форму обратной связи, и я постараюсь вам помочь.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *