Как переопределить шаблон изображения продукта woocommerce - PullRequest
0 голосов
/ 16 апреля 2019

Я хочу использовать свой собственный файл пользовательского шаблона (с пользовательским именем) для изображений продуктов и миниатюр галереи, поэтому необходимо переопределить шаблон изображения продукта Woocommerce по умолчанию, используя это:

add_filter( 'wc_get_template', 'modify_product_gallery_template', 10, 5 );
function modify_product_gallery_template( $located, $template_name, $args, $template_path, $default_path ) {
    if ( 'single-product/product-image.php' == $template_name ) {
        $located = '... my-gallery.include.php';
    }

    return $located;
}

Но успеха пока нет.Есть ли другой способ сделать это?

Ответы [ 3 ]

2 голосов
/ 16 апреля 2019

Это проблема пути , который должен быть абсолютным путем к серверу, используя, например, get_theme_file_path().

Предполагается, что ваш файл пользовательского шаблона называется my-gallery.include.php и если:

1) он находится в корневом каталоге вашей активной темы , который вы будете использовать:

$located = get_theme_file_path('/my-gallery.include.php');

Так в вашем коде:

add_filter( 'wc_get_template', 'modify_product_gallery_template', 10, 5 );
function modify_product_gallery_template( $located, $template_name, $args, $template_path, $default_path ) {
    if ( 'single-product/product-image.php' == $template_name ) {
        $located = get_theme_file_path('/my-gallery.include.php');
    }
    return $located;
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

2) он расположен внутри вашей активной темы в подпапке woocommerce , вы будете использовать:

$located = get_theme_file_path('/woocommerce/my-gallery.include.php');

3) Если вы хотите переопределить шаблон через активную тему , просто скопируйте файл из плагина woocommerce в: woocommerce/single-product/product-image.php

Теперь вы можете открыть, редактировать скопированный шаблон и вносить изменения без вашего действительного кода, и изменения появятся после сохранения.

0 голосов
/ 16 апреля 2019

Чтобы переопределить любой шаблон woocommerce, вам не нужно писать код. Вы можете просто создать этот файл внутри вашей активной темы. Например, в вашем случае вы хотите перезаписать «product-image.php», который находится внутри

сор-содержание / плагины / WooCommerce / шаблоны / монопродуктовый / продукт-image.php

Итак, для того, что вы можете сделать, вы можете просто создать этот шаблон внутри своего пути, а для этого вам нужно создать путь к шаблону внутри темы. Как и в вашем случае создать путь к шаблону, т.е.:

woocommerce -> шаблоны -> один продукт -> product-image.php

Когда woocommerce запускается, он извлекает шаблон из темы, если он доступен в плагине.

Надеюсь, это имеет смысл.

0 голосов
/ 16 апреля 2019

Вы можете переопределить шаблон изображения продукта woocommerce

project/wp-content/plugins/woocommerce/templates/single-product/product-image.php

Создайте структуру папок ниже, скопируйте страницу выше и внесите изменения в соответствии с вашими требованиями

project/wp-content/themes/yourtheme/woocommerce/templates/single-product/product-image.php
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...