我被赋予了一个有一段时间没有更新的网站:它有WP 4.9.15和WooCommerce 2.6.14
现在我做了一个现场测试,我更新了所有这些东西,现在我有了WP 5.4.2和WC4.3.1
有一件东西坏了,我想不出为什么这个页面会按类别显示产品:它们有一个3级的类别树。它是这样工作的:如果询问的类别是一片叶子,那么页面就会显示产品列表。如果不是一片叶子,它会显示所有的亚类。
这样做的模板页面是archive-product.php,它有一个简单的循环来显示所有内容:
<h1 class="page-title"><?php woocommerce_page_title(); ?></h1>
<?php if ( have_posts() ) : ?>
<?php
/**
* woocommerce_before_shop_loop hook
*
* @hooked woocommerce_result_count - 20
* @hooked woocommerce_catalog_ordering - 30
*/
do_action( 'woocommerce_before_shop_loop' );
?>
<?php woocommerce_product_loop_start(); ?>
<?php woocommerce_product_subcategories(); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php wc_get_template_part( 'content', 'product' ); ?>
<?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
<?php
/**
* woocommerce_after_shop_loop hook
*
* @hooked woocommerce_pagination - 10
*/
do_action( 'woocommerce_after_shop_loop' );
?>
<?php elseif ( ! woocommerce_product_subcategories( array( 'before' => woocommerce_product_loop_start( false ), 'after' => woocommerce_product_loop_end( false ) ) ) ) : ?>
<?php wc_get_template( 'loop/no-products-found.php' ); ?>
<?php endif; ?>现在,只有当所请求的类别是叶子时,此页面才能工作,因此它必须显示产品列表。如果请求的类别不是叶,则不会显示子类别,并且页面是空白的,只显示类别名称(page_title)。因此,这意味着查询做得不错,但是为什么没有显示类别呢?如果你能帮我解决这个麻烦,谢谢你
发布于 2020-08-03 21:31:51
我自己找到了答案,因为WC3.3不推荐使用woocommerce_product_subcategories并返回一个空值:
因此,您必须实现自己的子类别列表视图。我使用代码作为提示,找到了这里,并像以前一样重新构建了类别页面
https://wordpress.stackexchange.com/questions/372298
复制相似问题