wordpress - 为什么 woocommerce_product_query 不起作用?
问题描述
我正在尝试将我的自定义添加meta_query
到 WooCommerce 主查询。
我试过这段代码:
function testing_woo_product_query( $q ){
$args = array(
'relation' => 'AND',
array(
'meta_key' => '_price',
'value' => 10,
'compare' => '>=',
),
array(
'meta_key' => '_price',
'value' => 30,
'compare' => '<=',
)
);
$q->set( 'meta_query', $args );
}
add_action( 'woocommerce_product_query', 'testing_woo_product_query' );
但是代码不起作用。谁能告诉我问题出在哪里?
解决方案
您的元查询应该使用key
而不是meta_key
- 您也可以使用"between => array (low number, high number)
. 您可以在此处查看正确的格式WP Function Reference meta_query
这将完成您在上面尝试做的事情:
function testing_woo_product_query( $q ){
$args = array(
array(
'key' => '_price',
'value' => array( 10 , 30 ),
'compare' => 'BETWEEN',
'type' => 'numeric'
),
);
$q->set( 'meta_query', $args );
}
add_action( 'woocommerce_product_query', 'testing_woo_product_query' );
但请注意,这将影响商店和存档/类别页面,除非您使用特定详细信息来限定您的功能。
推荐阅读
- google-api - 意外令牌在谷歌 API 中被撤销,显示错误为“无效授权”
- python - flask-sqlalchemy 将嵌套的子表连接到一个父表(+Marshmallow)
- javascript - 单击刷新按钮后验证码图像未加载
- python - 如何将用空白(Nan)数据分隔的行转置为python/pandas中的多列?
- javascript - Treeview - 如何在 JSON 中默认检查节点?
- javascript - 将其他 js 文件函数调用到 AJAX 调用中
- vuejs2 - Vue2 / Vue Router:从导航守卫设置数据
- php - 自定义分类类别从搜索中排除
- python - 修复检查列表中整数的错误
- javascript - 如何异步事件处理程序?等待承诺 javascript