Один шаблон для нескольких категорий
Необходимо сделать шаблон для нескольких категорий. Ну например у меня есть 6 категорий, 3 из них работают с одним шаблоном, а остальные с другим. Как сделать под но категорию знаю. А вот как под несколько никак не найду. Помогите пожалуйста.
Я для этого использую хук template_include. Вот пример файла "роутера":
<?php /** * РАСПРЕДЕЛЕНИЕ ШАБЛОНОВ отображения контента в зависимости от раздела сайта * Данный файл создан, чтобы хранить шаблоны в стуктурированных папках и произвольными именами, а не в корне движка * * @param string $template путь к шаблону по умолчанию * * @return string путь к пользовательскому шаблону */ function mt_tpl_path( $template ) { if ( is_post_type_archive( 'service' ) ) { return mt_locate_template( 'templates/category-services.php' ); } // Продукция if ( is_singular( 'post' ) ) { return mt_locate_template( 'templates/single-product.php' ); } // Сервис if ( is_singular( 'service' ) ) { return mt_locate_template( 'templates/single-service.php' ); } // Новости if ( is_singular( 'news' ) ) { return mt_locate_template( 'templates/single-news.php' ); } if ( is_category() ) { return mt_locate_template( 'templates/category-products.php' ); } return $template; } add_filter( 'template_include', 'mt_tpl_path', 100 ); /** * Упрощенная функция проверки и замены шаблона на пользовательский вариант * * @global string $template дефолтный путь к шаблону * * @param string $path пользовательский путь к шаблону * * @return string $template путь к шаблону */ function mt_locate_template( $path ) { global $template; // Проверяем наличие файла шаблона по указанному пути if ( $new_template = locate_template( [ $path ] ) ) { $template = $new_template; } return $template; }Спасибо. Завтра обязательно попробую.
Для этих целей также подойдут хуки
(type)_template_hierarchy - фильтрует массив названий файлов иерархии, по которому будет идти поиск нужного файла. С WP 4.7.
Все варианты параметра type смотрите в одноименном параметр $type функции get_query_template().
Подскажите пожалуйста, каким образом при выборе категории при публикации товара в админке, выбирался шаблон товара, который я создал?