Мне не нужна страница «просмотра» для моей пользовательской таксономии

У меня есть пользовательский тип сообщения с пользовательской таксономией. Я не ссылаюсь на таксономию на странице, но от администратора каждый может посетить таксономию / термин url, и страница с незакрепленным списком будет видна. Как заставить wp не использовать макет по умолчанию (index.php) для этого листинга? Какой лучший метод? Например, я создаю шаблон таксономии, и я перенаправляю его на первую страницу?

Solutions Collecting From Web of "Мне не нужна страница «просмотра» для моей пользовательской таксономии"

Если вы просто хотите «отключить» публику, стоящую перед частью таксономии (например, просто используйте ее для группировки), вы можете сделать это, когда зарегистрируете ее .

Просто установите аргумент query_var false и WordPress не будет распознавать запросы таксономической страницы и просто 404. Это будет работать, если у вас нет разрешенных постоянных ссылок.

 <?php add_action('init', 'wpse94193_register'); function wpse94193_register() { register_taxonomy('your_taxonomy', 'your_post_type', array( // other stuff here... 'query_var' => false, )); } 

Вы также можете отключить довольно постоянные ссылки, установив для аргумента rewrite значение false (реквизит otto ).

 <?php add_action('init', 'wpse94193_register'); function wpse94193_register() { register_taxonomy('your_taxonomy', 'your_post_type', array( // other stuff here... 'rewrite' => false, 'query_var' => false, )); } 

Если вам нужно разрешить вход в систему пользователям просматривать страницы таксономии (не могу сказать из вопроса), это совсем другая история.

Проверьте иерархию шаблонов . Если ваша пользовательская таксономия называется custom_taxonomy , вы должны иметь возможность создать файл шаблона taxonomy-custom_taxonomy.php , который может содержать, например:

 <?php wp_redirect( home_url() ); exit; // stop processing since we're redirecting ?> 

(См. Страницу Codex для wp_redirect() для получения дополнительной информации о перенаправлении в WordPress.)