安装程序我正在运行:
WooCommerce 4.1.1我正在编写一个自定义主题,通过将自己的模板放置在以下位置来覆盖一些WooCommerce模板:themes/my_theme/woocommerce/template-name.php
我已确定商店页面(主页)使用archive-product.php 并已成功从plugins/woocommerce/templates/archive-product.php 对我的主题进行了一些小的HTML更改,效果很好。我的主题副本中没有任何功能性更改,只有一些HTML。
问题
有一个选项可以将商店页面设置为显示类别而不是产品:
Appearance > Customize > WooCommerce > Catalogue
商店页面显示现在设置为
Show Categories然而,商店主页似乎完全忽略了此设置。WooCommerce自己的模板不遵守此设置,这似乎很奇怪!
如何找到此设置,然后在商店主页上显示类别(缩略图)?
另一方面,店面主题确实尊重设置,但没有模板archive-product.php. 店面上的所有东西都非常模糊,经过多次调试/尝试将其拆开后,我无法发现它用于商店页面的模板文件
SO网友:Ade
我找到了一个可行的解决办法。WooCommerce默认模板不支持在商店页面上显示类别的设置。
但是,使用短代码do_shortcode()
, 可实现的条件如下:
if (is_shop()) {
echo do_shortcode(\'[product_categories hide_empty="0"]\');
} else {
woocommerce_product_loop_start();
if ( wc_get_loop_prop( \'total\' ) ) {
while ( have_posts() ) {
the_post();
/**
* Hook: woocommerce_shop_loop.
*/
do_action( \'woocommerce_shop_loop\' );
wc_get_template_part( \'content\', \'product\' );
}
}
woocommerce_product_loop_end();
}
仍然:
我想知道如何选择问题中显示的“show categories”定制设置,因此我的主题对此做出了回应有没有比使用do_shortcode()
, 这感觉有点像黑客