View Categories

Woocommerce的索引页面模板archive-product.php无法被调用问题

< 1 min read

最近在用WordPress+Woocommerce开发一个商城网站,一步一步抽丝剥茧的尝试修改着Woocommerce提供的默认主题。其实Woocommerce的主题定制逻辑挺简单,把Woocommerce插件中的templates文件夹整个复制到自己的主题中,重命名woocommerce,即可任意修改。购物车、产品内页、帐号管理等页面都能顺利修改。唯独商品索引页面,我在archive-product.php反复尝试修改覆盖源文件,都没效果。
最后谷歌找到答案,解决方法如下:
在第三方主题里面增加woocommerce文件夹,为了使原主题能兼容Woocommerce,一般都会在主题目录下增加一个woocommerce.php
详细方法见这里:http://docs.woothemes.com/document/third-party-custom-theme-compatibility/。
这个粗略方法就是导致archive-product.php没有被正确调用的原因。
只需要找到主题根目录下woocommerce.php中的这一行:

woocommerce_content();

替换成

if ( is_singular( 'product' ) ) {
	woocommerce_content();
}else{
	woocommerce_get_template( 'archive-product.php' );
}

即可解决问题。