Я пытаюсь создать собственный макет для одной из наших страниц продукта в Woocommerce. Я искал и следовал так много учебников, но ни один из них не работает для меня. Я скопировал файл «single-product.php» и поместил его в свою активную дочернюю тему в папку «woocommerce». Затем я продублировал это и переименовал в «single-product-landing.php».
Затем я разместил следующий код на своей странице functions.php:
add_filter( 'template_include', 'custom_single_product_template_include', 10 );
function custom_single_product_template_include( $template ) {
if ( is_product() && ( has_term( 'custom', 'product_cat') ) ) {
$template = get_stylesheet_directory() . '/woocommerce/single-product-landing.php';
}
return $template;
}
Затем я попытался изменить предметы в single-product-landing.php, но ничего не изменилось, поэтому его нельзя было поднять. Чтобы подтвердить, у меня есть продукт, отнесенный к категории «пользовательские».
Я должен также добавить, что мой продукт является «переменным» продуктом, я не уверен, что это как-то повлияет на это.
РЕДАКТИРОВАТЬ: я нашел следующий код в моем файле 'single.php' - я думаю, что это может мешать. Проблема в том, что, если я удаляю это, на моих страницах ничего не отображается (даже те, которые не затронуты новым шаблоном):
<?php
if(get_theme_mod('product_layout') == 'custom') {
wc_get_template_part( 'content', 'single-product-custom' );
} else {
wc_get_template_part( 'content', 'single-product' );
}
?>
Любая идея, как я могу изменить это, чтобы показывать содержимое, но не переоценивать изменение шаблона, которое я пытаюсь сделать?