我遇到了WooCommerce / Wordpress模板的问题。我曾经把一切都搞定了。
我的functions.php
文件中包含此代码:
add_filter( 'template_include', 'wpse138858_woocommerce_category_archive_template' );
function wpse138858_woocommerce_category_archive_template( $original_template ) {
if ( is_product_category() ) {
return get_template_directory().'/woocommerce/archive-product.php';
} else {
return $original_template;
}
}
此代码为产品类别选择了我的自定义存档模板并购买主页。突然间,它不再起作用了。似乎WordPress不能再使用wp-content/themes/mytheme/woocommerce
中的自定义文件了。由于某种原因,单个产品页面和产品类别使用page.php
。我通过在我的主题文件夹上创建文件single-product.php修复了单个产品页面的问题。这样做没问题,但我不能对Woocommerce存档页面做同样的事情。
所有存档页面都使用page.php。他们没有pageId,我在某个产品类别页面上打印出var_dump(is_product_category());
,结果是错误的。
有没有办法强制产品类别使用archive-product.php
模板?类别(存档)页面如何使用page.php
模板?
答案 0 :(得分:2)
在主题add_theme_support( 'woocommerce' );
文件中添加functions.php
。在此之后,所有WooCommerce模板将按预期工作(假设模板的结构正确)。