unregister_taxonomy()
Отменяет регистрацию указанной таксономии (удаляет таксономию).
Кроме удаления таксономии из общего массива таксономий, также удаляются: правила перезаписи ЧПУ, параметры запроса и связанные с таксономией фильтры.
Не работает со встроенными таксономиями меток и рубрик: post_tag и category. Не работает с теми таксономиями, у которых свойство _builtin = true.
1 раз — 0.000039 сек (очень быстро) | 50000 раз — 0.89 сек (очень быстро) | PHP 7.0.5, WP 4.5
Хуки из функции
Возвращает
true|WP_Error. True при удалении. WP_Error при ошибке или когда таксономии не существует.
Использование
unregister_taxonomy( $taxonomy );
- $taxonomy(строка) (обязательный)
- Название таксономии, которую нужно удалить (отменить).
Примеры
#1 Удалим таксономию
Допустим во время события init мы зарегистрировали таксономию genre. И затем позднее нам нужно её отменить.
// регистрация таксономии
add_action( 'init', 'create_genre_taxonomy' );
function create_genre_taxonomy(){
// Добавляем древовидную таксономию 'genre' (как категории)
register_taxonomy('genre', array('book'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'genre' ),
));
}
// удаление таксономии
add_action( 'wp', 'unregister_genre_taxonomy' );
function unregister_genre_taxonomy(){
// отменяем таксу только на отдельных страницах
if( ! is_singular() ) return;
unregister_taxonomy('genre');
}
Заметки
- Global. WP_Taxonomy[].
$wp_taxonomiesList of taxonomies.
Список изменений
| С версии 4.5.0 | Введена. |