我在商店的侧边栏中添加了 Woocommerce 分层导航小部件。主页显示类别,当用户点击某个类别时,页面将显示子类别,选择子类别后,用户将看到产品。
我的问题是分层导航小部件仅适用于显示类别的页面。但我想让它在只显示产品的页面上工作。
如果有人知道 Woocommerce 在哪个功能中选择要在页面上显示的产品,那将非常有帮助。
谢谢你。
UPD:我发现在函数 get_layered_nav_chosen_attributes() $_GET 中的 widgets/class-wc-query.php 中看起来工作不正常。当我尝试过滤子类别或产品列表中的产品时,我在 $_GET 中看到以下值:
[q] => /product-category/category-name/subcategory_name/filter_brand=brand_name
[query_type_brand] => 或
当我从类别列表中过滤产品时,我看到 filter_brand 已正确解析并被视为单独的 GET 参数。
如果有人知道是什么问题,请帮助我。
UPD2:此时我有解决方法。在 $link 计算后的 class-wc-widge-layered-nav.php get_page_base_url() 函数中,我添加了像“a = 1”这样的假参数。所以现在所有必要的参数都被正确解析了。所以此时我不知道行为的根本原因。我是 PHP 和 Wordpress 的新手 :)