php – 按属性过滤的WooCommerce相关产品

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 按属性过滤的WooCommerce相关产品脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我看过 this questionthis one,但我仍然被卡住了.

我有一个属性status”,我只想要出现值为“OPEN”的类(产品).我正在编辑related.PHP WooCommerce模板文件.

这是我尝试过的两个代码版本.

版本1:

$args = apply_filters( 'woocommerce_related_PRoducts_args',array(
'post_type'            => 'product','ignore_sticky_posts'  => 1,'no_found_rows'        => 1,'posts_per_page'       => $posts_per_page,'orderby'              => $orderby,'post__in'             => $related,'post__not_in'         => array( $product->id ),'Meta_query' => array(
   array(
    'key' => 'status','value' => 'OPEN',),) );

版本2:

$key="status";
    $value="OPEN";
    $query_status = array('Meta_key' => $key,'Meta_value' => $value);
    $Meta_query[] = $query_status;

    $args = apply_filters( 'woocommerce_related_products_args',array(
    'post_type'            => 'product','Meta_query'           => $Meta_query,) );

    $products                    = new WP_Query( $args );

一个版本不会显示相关产品,因此会破坏代码.第二个没有效果.

我该如何解决这个问题?

谢谢

解决方法

好的,我有答案! WooCommerce以两种方式存储自定义属性,但在这种情况下,我需要使用查询而不是元查询.这是最终的查询,就像一个魅力:

$args = apply_filters( 'woocommerce_related_products_args',array(
       'post_type'            => 'product','posts_per_page'       => 4,'tax_query'      =>     array(
              array(
                      'taxonomy' => 'pa_status','field' =>      'slug','terms' => 'open'
              )
        )
) );
@H_404_43@

脚本宝典总结

以上是脚本宝典为你收集整理的php – 按属性过滤的WooCommerce相关产品全部内容,希望文章能够帮你解决php – 按属性过滤的WooCommerce相关产品所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。