Как изменить шаблон записи продукта в 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

Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.