我正在尝试获取自定义分类法的所有术语(ediciones
) 但由两个ACF字段排序:edicion_ano
(年份字段)和edicion_numero
(数字字段)。第一个应按年份排序,第二个应按数字字段排序。
我从ACF(5.5.X)了解到,可以使用meta_query
我正在使用版本5.5.14。
在新版本的ACF(5.5.x)中,现在使用术语元,WP允许对术语进行元查询,因此不再需要这些解决方法。(source)
现在我正在使用以下代码:
$args = array(
\'taxonomy\' => \'ediciones\',
\'hide_empty\' => false,
\'meta_query\' => array(
\'relation\' => \'AND\',
\'edicion_ano_param\' => array(
\'key\' => \'edicion_ano\',
\'compare\' => \'EXISTS\',
),
\'edicion_numero_param\' => array(
\'key\' => \'edicion_numero\',
\'compare\' => \'EXISTS\',
),
),
\'orderby\' => array(
\'edicion_ano_param\' => \'DESC\',
\'edicion_numero_param\' => \'DESC\',
),
);
$ediciones = get_terms($args);
使用相同的
meta_query
但是有
get_posts()
它工作得很好。实际上与
get_terms()
给我一个警告,但我不知道为什么:
Warning: strtolower() expects parameter 1 to be string, array given in .../class-wp-term-query.php on line 824如果我试着订购one field 适用于此代码:
$args = array(
\'taxonomy\' => \'ediciones\',
\'hide_empty\' => false,
\'meta_key\' => \'edicion_ano\',
\'orderby\' => \'meta_value\',
\'order\' => \'DESC\',
);
$ediciones = get_terms($args);
但我需要按两个字段排序。知道我做错了什么吗?知道我需要什么吗?
谢谢