首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示WP/WC更新时损坏的子类别

问显示WP/WC更新时损坏的子类别
EN

WordPress Development用户
提问于 2020-08-03 20:43:26
回答 1查看 25关注 0票数 0

我被赋予了一个有一段时间没有更新的网站:它有WP 4.9.15和WooCommerce 2.6.14

现在我做了一个现场测试,我更新了所有这些东西,现在我有了WP 5.4.2和WC4.3.1

有一件东西坏了,我想不出为什么这个页面会按类别显示产品:它们有一个3级的类别树。它是这样工作的:如果询问的类别是一片叶子,那么页面就会显示产品列表。如果不是一片叶子,它会显示所有的亚类。

这样做的模板页面是archive-product.php,它有一个简单的循环来显示所有内容:

代码语言:javascript
复制
            <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)。因此,这意味着查询做得不错,但是为什么没有显示类别呢?如果你能帮我解决这个麻烦,谢谢你

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2020-08-03 21:31:51

我自己找到了答案,因为WC3.3不推荐使用woocommerce_product_subcategories并返回一个空值:

链接到woocommerce文档

因此,您必须实现自己的子类别列表视图。我使用代码作为提示,找到了这里,并像以前一样重新构建了类别页面

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/372298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档