Открепляет зарегистрированную таксономию от типа записи.
Возвращает:
true
– открепление прошло успешно,false
– если:- указана несуществующая таксономия в параметрах функции,
- указан несуществующий тип записи в параметрах функции,
- указанная таксономия уже не ассоциирована с указанным типом записи.
unregister_taxonomy_for_object_type( $taxonomy, $object_type )
Параметры
- $taxonomy
- (строка) Название открепляемой таксономии.
- $object_type
- (строка) Название типа записей, от которого открепляем.
Примеры
Периодически люди задают одни и те же вопросы из серии «Миша, как мне удалить метки?» И правда, как? Ведь функция unregister_taxonomy() не работает для рубрик и меток.
Но смотрите, по сути метки привязаны только к записям. Если мы их отвяжем от них, то по сути они отовсюду пропадут.
Функцию мы используем внутри хука init
, кроме того, приоритет нашего хука должен быть выше хуков, на которых находятся функции register_post_type() и register_taxonomy(). Но в данном случае мы работаем с записями и метками, поэтому приоритет не важен.
add_action( 'init', 'true_unregister_tags_for_posts' ); function true_unregister_tags_for_posts() { unregister_taxonomy_for_object_type( 'post_tag', 'post' ); }
В итоге у вас:
- пропадёт колонка с метками на странице со всеми записями в админке,
- пропадёт интерфейс добавления меток на странице редактирования записи,
- пропадёт ссылка «Метки» из админ-меню под записями:
Не знаете, как работать с хуками?
Хуки
unregistered_taxonomy_for_object_type
Срабатывает после открепления таксономии от типа записей, непосредственно перед тем, как функция возвращает true
.
С версии 5.1.0
do_action( 'unregistered_taxonomy_for_object_type', $taxonomy, $object_type );
Источник: Блог Миши Рудрастых