我需要为我的woocommerce网站中的每个产品制作单独的模板。
是否有方法可以执行类似single-product-9455.php
我相信我可以使用像这样的类别制作模板
<?php
if ( has_term( 'custom-1', 'product_cat' ) ) {
wc_get_template_part( 'content', 'custom-1' );
}
elseif ( has_term( 'custom-2', 'product_cat' ) ) {
wc_get_template_part( 'content', 'single-product-custom-2' );
}
else {
wc_get_template_part( 'content', 'single-product' );
}
?>
但由于每个产品都需要自定义模板,因此会产生许多不必要的类别。
有没有办法定位产品ID?
Body css类是不够的。我需要每个模板。
答案 0 :(得分:2)
你可以,但你不想这样做。如果网站增长,它可能会变得非常混乱。一个明智的方向是使用conditionals。
否则,如果兔子洞听起来不错,你可能想为每个产品创建一个新的类别以挂钩条件......
1)如果主题目录不存在,请在主题目录中创建 woocommerce 文件夹。
2)在这个名为&#34; woocommerce&#34;的目录中复制您的content-single-product.php文件,并将其命名为 content-single-product-TEMPLATENAME.php
同时将woocommerce中的woocommerce模板文件 single-product.php 复制到您的名为woocommerce的目录中,找到以下行:
3)在您刚刚复制的 single-product.php 中找到以下行。
woocommerce_get_template_part( 'content', 'single-product' );
将其更改为:
if (is_product_category( '1CATEGORY') // Where this is the category name
{
// Category name 1
woocommerce_get_template_part( 'content', 'single-product-TEMPLATENAME' );
}
elseif (is_product_category( '2CATEGORYNAME')
{
// category name 2
woocommerce_get_template_part( 'content', 'single-product-TEMPALTENAME2' );
}
else
{
// You will allows want to default to the single product template.
woocommerce_get_template_part( 'content', 'single-product' );
} //endif
如果有办法从产品ID中挂钩,那么您就不会想要。这将要求产品提前在那里,从开发/业务的角度来看是没有意义的。
欢迎修改。