我尝试使用pre_get_posts
操作钩子按ACF字段对存档产品页面的产品进行排序。
ACF字段是一个字符串,包含字符和数值
我的解决方案:添加丢失的前导零,以便'040' < '180'将保持不变。
以下代码不起作用。我错过了什么?
function sort_batteries_by_amper( $query ) {
if( isset($query->query_vars['post_type']) && $query->query_vars['post_type'] == 'product' ) {
$query->set('orderby', 'meta_value');
$query->set('meta_key', 'MY_KEY');
$query->set('order', 'ASC');
$value = get_ah_value($query, 'MY_KEY'); // add leading zero's to int values < 100
$query->set( 'meta_value', $value );
}
return $query;
}
add_action('pre_get_posts', 'sort_batteries_by_amper');
2条答案
按热度按时间9lowa7mx1#
试试看
代替
of1yzvn42#
下面是一个完整的解决方案,工程