根据自定义产品属性值过滤Woocommerce产品

时间:2018-03-29 11:59:16

标签: php wordpress woocommerce product custom-taxonomy

在Woocommerce中,我有一个名为form_valid的产品属性。我想根据某些限制ID 过滤产品。例如,如果在php会话变量中将值设置为 restriction_id ,我想过滤掉任何具有restriction_id属性设置为 35的产品

我会在这里放什么?

这是我的开始代码:

35

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

更新:请尝试使用以下tax query

add_filter( 'woocommerce_product_query_tax_query', 'custom_product_query_meta_query', 10, 2 );
function custom_product_query_meta_query( $tax_query, $query ) {
    if( is_admin() ) return $tax_query;

    // HERE set the taxonomy of your product attribute (custom taxonomy)
    $taxonomy = 'pa_restriction_id'; // Note: always start with "pa_" in Woocommerce

    // HERE Define your product attribute Terms to be excluded
    $terms = array( '35' ); // Note: can be a 'term_id', 'slug' or 'name'

    // The tax query
    $tax_query[] = array(
        'taxonomy'         => $taxonomy,
        'field'            => 'slug', // can be a 'term_id', 'slug' or 'name'
        'terms'            => $terms,
        'operator'         => 'NOT IN', // Excluded
    );

    return $tax_query;
}

代码放在活动子主题(或活动主题)的function.php文件中。经过测试和工作。