我正在使用WooCommerce 3.4.3和“高级自定义字段”。对于整个站点的默认设置,我将按照价格从高到低的顺序对产品进行排序。在特定类别(ID为87)上,我希望能够通过已建立的ACF关系进行搜索,该关系的meta_key为bases_ordering。这是我到目前为止编写的代码,但无法弄清楚为什么是错误的或如何正确过滤它的。
非常感谢您提供的帮助!
function my_pre_get_posts( $query ) {
// do not modify queries in the admin
if( is_admin() ) {
return $query;
}
// only modify queries for 'event' post type
if( isset($query->query_vars['post_type']) && $query->query_vars['post_type'] === 'product' && $query->query_vars['tag_ID'] === 87 ) {
$query->set('orderby', 'meta_value');
$query->set('meta_key', 'bases_ordering');
$query->set('order', 'DESC');
}
// return
return $query;
}
add_action('pre_get_posts', 'my_pre_get_posts');