Пытаюсь отсортировать категории по мета-полю position, но проблема в том, что если сортировать по мета полю, то запрос не будет учитывать другие категории без этого мета-поля.
Пробовал так:
$categories = get_terms([
'taxonomy' => 'nwb_cat',
'hide_empty' => false,
'meta_query' => [
'relation' => 'OR',
'position' => [
'key' => 'position',
'compare' => 'EXISTS'
],
'position_not' => [
'key' => 'position',
'compare' => 'NOT EXISTS'
],
],
'orderby' => [
'position' => 'ASC',
]
]);
Результат: сортировка не происходит
Пробовал так:
$categories = get_terms([
'taxonomy' => 'nwb_cat',
'hide_empty' => false,
'orderby' => 'meta_value_num',
'order' => 'ASC',
'meta_key' => 'position',
]);
Результат: сортировка работает верно, но выводятся только те категории, у которых есть мета-поле position.
PS. По умолчанию это поле не будет заполнено.
Как можно решить этот вопрос ?