【问题标题】:Woocommerce YITH Product Filter not workingWoocommerce YITH 产品过滤器不起作用
【发布时间】:2017-12-19 06:02:18
【问题描述】:

在 WooCommerce 中,已经能够使用this answer code 成功地使缺货产品仅显示在产品类别存档页面(因此不在商店存档页面中):

add_filter( 'woocommerce_product_query_meta_query', 'shop_only_instock_products', 10, 2 );
function shop_only_instock_products( $meta_query, $query ) {
    // Only on shop archive pages
    if( is_admin() || is_search() || ! is_shop() ) return $meta_query;

    $meta_query[] = array(
        'key'     => '_stock_status',
        'value'   => 'outofstock',
        'compare' => '!='
    );
    return $meta_query;
}

但我正在使用 YITH WooCommerce Ajax Product Filter 插件,已启用并在我的商店页面上工作。

我现在遇到的问题是,当我想在产品类别档案页面上过滤缺货产品时,我没有得到过滤结果,所有产品都消失了。

我试图改变钩子的优先级,先降低它,然后再增加它,但没有任何成功。

我已尝试添加以下过滤器:

add_filter ('yith_wcan_use_wp_the_query_object', '__return_true');

但它也不起作用。

我该如何解决这个问题?对此的任何帮助将不胜感激

【问题讨论】:

  • 不幸的是,这不起作用。 ://
  • 这是尝试的第一步……我还没有使用过这个 YITH 插件,所以正确的方法应该是查看插件源代码,找出一些让它工作的方法。或者可能是找出可以防止这个问题的东西。但这并不是那么简单...您也可以尝试在他们的支持页面中询问添加此线程的链接...
  • 昨晚我在 Wordpress.org 上发布了一个关于 YITH 支持的主题,但没有答案。总的来说,这些话题都已经死了,其中很多都没有答案。

标签: php wordpress woocommerce filtering product


【解决方案1】:

我环顾四周,发现问题出在 YITH 产品过滤器在类别页面上使用时重定向到商店页面,并且由于商店页面排除了缺货产品,因此它显示没有结果。

不带过滤器的店铺页面URL结构:

domain.com/shop

应用过滤器的商店页面的 URL 结构:

domain.com/shop?filter_watch-gender=gender-men&query_type_watch-gender=or

显示缺货产品的类别页面的 URL 结构,未应用过滤器:

domain.com/product-category/our-collection/

应用过滤器的类别页面的 URL 结构,与商店页面上应用的相同:

domain.com/shop?product_cat=our-collection&source_id=25&source_tax=product_cat&filter_watch-gender=gender-men&query_type_watch-gender=or

在类别页面上应用过滤器后应采用的 URL 结构:

domain.com/product-category/our-collection?filter_watch-gender=gender-men&query_type_watch-gender=or

我已经在包含缺货产品的类别页面上测试了最后一个 URL 结构,它显示了我想要的结果,它根据应用的过滤器缩小了产品列表。

我不知道这对可能知道如何帮助我的人是否有用:)

【讨论】:

  • 有人知道吗?我尝试了我所知道的一切,但没有任何效果。我真的需要解决这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-16
相关资源
最近更新 更多