Это проблема пути , который должен быть абсолютным путем к серверу, используя, например, 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
…
Теперь вы можете открыть, редактировать скопированный шаблон и вносить изменения без вашего действительного кода, и изменения появятся после сохранения.