我正在使用woocommerce,我改变了single-product.php并放置了一个" if"循环内的语句,用于加载特定产品的自定义页面。
<?php while ( have_posts() ) : the_post();
if (is_product_category( 'Benefit')) {
woocommerce_get_template_part( 'content', 'single-product-benefit' );
}else{
woocommerce_get_template_part( 'content', 'single-product' );
}
endwhile; // end of the loop. ?>
我的问题是内容 - single-product-benefit.php由&#34的第一部分调用;如果&#34;始终装载(适用于所有产品)。 我怀疑一个非常愚蠢的PHP语法错误,但我花了一个小时在这上面,无法看到它。这两个php页面都可以自行运行。不知怎的,我不能得到那个&#34;如果&#34;对。我究竟做错了什么?? 谢谢你的帮助^^
答案 0 :(得分:0)
is_product_category()功能仅在显示存档页面时有效,与Wordpress is_category()功能相同。由于您在single-product.php
文件中使用此函数,并且这是单个页面的模板,因此上述函数将不起作用。试试:
has_term( 'Benefit', 'product_cat', $post );