Зарегистрировать родительские страницы для всех таксономий
Как пример можно взять шаблон archive.php - он один срабатывает для всех терминов на сайте, такой шаблон и для таксономии хочу.
есть порядка 10 таксономий на сайте фильмов с URL:
site / movie / название фильма
site / janre / комедия
site / year / 2000
Вопрос: Как для таксономий movie, janre, year создать единый шаблон и поместить туда облако терминов конкретной таксономии ? (конкретно с облаком проблем нет)
А вот как автоматом создать шаблон родительской страницы для всей таксономий не знаю, чтоб
по URLs
site / movie /
site / janre /
site / year /
появлялась страница с терминами таксономии.
Почему хуки template_include или (type)_template_hierarchy не подходят? На хуке определяешь текущую таксу и подсовываешь один какой-то файл в котором выводишь что нужно.
так как иногда я не доганяю - сделал через GET запрос
Create a page without adding a page in the Database
# правим is_foobar_page - параметр под свое название add_action('init', 'foo_add_rewrite_rule'); function foo_add_rewrite_rule(){ add_rewrite_rule('^foobar?','index.php?is_foobar_page=1&post_type=custom_post_type','top'); //Customize this query string - keep is_foobar_page=1 intact } add_action('query_vars','foo_set_query_var'); function foo_set_query_var($vars) { array_push($vars, 'is_foobar_page'); return $vars; } add_filter('template_include', 'foo_include_template', 1000, 1); function foo_include_template($template){ if(get_query_var('is_foobar_page')){ $new_template = WP_CONTENT_DIR.'/themes/your-theme/template-name.php'; if(file_exists($new_template)) $template = $new_template; } return $template; }
варианты через директорию
taxonomy-{taxonomy}.php
или через произвольный шаблон
Template name: Page Category
меня не интересуют, так как просто захломят сайт, да один шаблон нужен для всех таксономии, для оптимизации и быстрой обработки