【问题标题】:Woocommerce category page: display Products before SubcategoriesWoocommerce 类别页面:在子类别之前显示产品
【发布时间】:2021-09-03 03:31:34
【问题描述】:

我找了几个小时的解决方案,但我找不到我正在寻找的解决方案... 在一个新的 woocommerce 安装中,我的类别在同一级别上同时具有产品和子类别。因此,正如预期的那样,woocommerce 将它们显示在父类别页面上:首先是子类别,然后是产品。 我会“只是”交换两个“调用”的位置,先显示产品,然后再显示子类别。最初,我认为这将是一个简单的 hack。但是在网上一无所获,我开始认为我遗漏了一些明显的东西,我可能会使用标准选项获得所需的行为?! 该网站尚未公开,但为了提供更多背景信息, 目前页面输出是

  • subcat1
  • subcat2
  • subcat3
  • 产品1
  • 产品2
  • 产品3

其实我很想拥有

  • 产品1
  • 产品2
  • 产品3
  • subcat1
  • subcat2
  • subcat3

如果有人可以提供帮助将不胜感激! 谢谢

编辑:按照建议的链接https://gist.github.com/twoelevenjay/a2195b052c4feb046d7f71fcae5c4d1b,我实现了我所需要的。我在 cmets 中使用了 @fkoomek 建议的第二个示例。 一旦将他的代码粘贴到我的子主题的function.php中,我就改变了

add_action( 'woocommerce_before_shop_loop', 'msc_product_loop_start', 40 );
add_action( 'woocommerce_before_shop_loop', 'msc_maybe_show_product_subcategories', 50 );
add_action( 'woocommerce_before_shop_loop', 'msc_product_loop_end', 60 );

add_action( 'woocommerce_before_shop_loop', 'msc_product_loop_start', 40 );
add_action( 'woocommerce_after_shop_loop', 'msc_maybe_show_product_subcategories', 50 );
add_action( 'woocommerce_after_shop_loop', 'msc_product_loop_end', 60 );

唯一的问题是现在我有两个嵌套的 UL……这不是一个大问题,但我仍然不知道如何避免 UL 重复…… 谢谢!

【问题讨论】:

    标签: wordpress sorting woocommerce categories


    【解决方案1】:

    假设您不使用页面构建器(例如 Divi 或 Elementor),您需要覆盖 woocommerce 模板来实现这一点。您甚至可能必须在子主题的 functions.php 中添加一些函数(始终使用子主题以避免在下次更新时丢失您的更改)。

    这里是关于模板覆盖如何在 Woocommerce 中工作的文档:https://docs.woocommerce.com/document/template-structure/

    您还可以在此处找到与您相关/接近的问题:https://wordpress.org/support/topic/subcategories-are-showing-with-the-categories-and-products/

    还有一个可以为您指明正确道路的示例:https://gist.github.com/twoelevenjay/a2195b052c4feb046d7f71fcae5c4d1b

    如果您不习惯操作 php,我强烈建议您请专业人士为您操作,因为操作不当可能会破坏您的网站。

    【讨论】:

    • 非常感谢@Dexter0015 抽出时间来回答!您的建议很有帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多