【问题标题】:How to make Woocommerce layered nav widget works on products page如何使 Woocommerce 分层导航小部件在产品页面上工作
【发布时间】:2016-11-10 08:32:47
【问题描述】:

我在商店的侧边栏中添加了 Woocommerce 分层导航小部件。主页显示类别,当用户点击某个类别时,页面将显示子类别,选择子类别后,用户将看到产品。

我的问题是分层导航小部件仅适用于显示类别的页面。但我想让它在只显示产品的页面上工作。

如果有人知道 Woocommerce 在哪个功能中选择要在页面上显示的产品,那将非常有帮助。

谢谢。

UPD: 我发现在函数 get_layered_nav_chosen_attributes() 中的 widgets/class-wc-query.php 中,$_GET 看起来工作不正常。当我尝试过滤子类别或产品列表中的产品时,我在 $_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 的新手:)

【问题讨论】:

    标签: php wordpress woocommerce layered-navigation


    【解决方案1】:

    我解决了这个问题。根本原因是 nginx 配置不正确。

    location {
        try_files $uri $uri/ /index.php?q=$uri$args
    }
    

    所以我的 nginx 添加了不必要的 $uri。
    正确的值为:

    try_files $uri $uri/ /index.php?$args
    

    【讨论】:

      猜你喜欢
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-15
      • 1970-01-01
      • 2014-02-24
      • 2014-10-26
      • 1970-01-01
      相关资源
      最近更新 更多