Функция присваивает уже зарегистрированную таксономию к указанному в параметрах типу постов. В случае успеха возвращает true
.
После этого на странице редактирования записей указанного типа появится соответствующий метабокс таксономии (наподобие метабокса рубрик или меток — это зависит от иерархии таксономии).
register_taxonomy_for_object_type( $taxonomy, $object_type)
Как вы знаете, тип постов page
не поддерживает ни рубрик ни меток, предположим, нам понадобилось помечать страницы тегами.
И кстати, функция обязательно и всегда должна подключаться через init
, иначе просто ничего не произойдет, вот пример:
function post_tag_for_pages(){ register_taxonomy_for_object_type( 'post_tag', 'page'); } add_action( 'init', 'post_tag_for_pages' );
Вставляем код в functions.php
(например) и просто переходим на Страницы > Добавить новую и видим в правой колонке метабокс с метками:
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Здравствуйте. Применил этот пример к произвольным типам записей.
Да, область для назначения меток появилась при добавлении записей в эти типы. На странице редактирования меток wp-admin/edit-tags.php?taxonomy=post_tag показывается, что метки существуют и материалы для них назначены, но при попытке просмотра этих меток на сайте, выдает что ничего не найдено.
И по адресу wp-admin/edit.php?tag=tag_kotoriy_est_v_proizvol1 также показывает пустоту.
похоже я все понял
нужно вводить такой адрес чтобы увидеть нужные теги в произвольной таксономии
/wp-admin/edit.php?post_type=proizvol-1&tag=tag_kotoriy_est_v_proizvol-1
тогда посты с нужным тегом в произвольной таксономии видны.
А при попытке просмотра этих меток на сайте, их не выводит, т.к. у меня в шаблоне tag.php используется стандартный вывод цикла ВП. Видимо он работает только для стандартных типов записей. Я прав?
Подскажите, как выкрутится из ситуации. Что если в шаблоне tag.php задавать условие if post_type=proizvol-1, и тогда в этом if формировать новый обьект wp_query
$query=new WP_Query(array('post_type'=>'proizvol-1',...))
Так можно или я перемудрил?
Добрый день!
Вы копаете в правильном направлении. Решение есть тут truemisha.ru/blog/wordpress/pre-modify-queries.html.