Как изменить шаблон записи продукта в woocommerce?
Здравствуйте, скажите как можно изменить изменить шаблон отдельной категории или отдельной страницы? Можно ли изменить шаблон только для продуктов в woocommerse, не затрону все остальное? Мне нужно что бы при определенных условиях открывался другой файл с шаблоном страницы или поста(или продукта). Скажите можно ли это сделать?
В вордпресс можно подменить абсолютно любой шаблон, не важно страница это или запись, категория, продукт и прочее.
Адреса шаблонов которые нужно открывать в определенном случае передается в переменной и мы можем подправить ее.
Вот 2 примера, первый для постов(стандартного типа записей):
function get_custom_post_type_template($single_template) { global $post; if ($post->post_type == 'disc') { $single_template = dirname(__FILE__) . '/single-template.php'; } return $single_template; } add_filter('single_product_template', 'get_custom_post_type_template');
Второй пример общий, для все видов страниц, поэтому нужно более детально указывать к каким именно страницам применять.
Применем для страниц продукта в woocommerse:
add_filter('template_include', 'portfolio_page_template', 99); function portfolio_page_template($single_template) { global $post; if (is_single()) { if ($post->post_type == 'product') { $single_template = dirname(__FILE__) . '/single-template.php'; } } return $single_template; }
Существуют следующие типы хуков для работы с шаблонами:
Action Hook: template_redirect — перенаправление перед открытием страницы
Filter Hook: template_include — для всех страниц сайта
Filter Hook: single_template — для постов
Filter Hook: {$type}_template