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

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

    Ваш ответ

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