Я часами искал, чтобы разрешить липкое сообщение на странице архива с логическим полем.
Все работает нормально, если мое поле не является логическим (дата, число> = 2 или что-то еще), но я ничего не могу сделать с логическим полем.
Вот мой код:
$query->set( 'meta_query', array(
'relation' => 'OR',
array(
'key' => 'cat_sticky_enabled',
'compare' => 'EXISTS',
),
array(
'key' => 'cat_sticky_enabled',
'compare' => 'NOT EXISTS'
)
) );
$query->set( 'orderby', 'meta_value date' );
$query->set( 'order', 'DESC' );
В случае логического значения:
- Если я просто назову существующее cat_sticky_enabled, у меня будет хороший результат (все проверенные сообщения).
- Если я просто назову 'cat_sticky_enabled', которого не существует, у меня будет хороший результат (все непроверенные сообщения).
- Если я вызываю оба, у меня есть все мои сообщения, но я не могу их упорядочить должным образом (пробовал с meta_value и meta_value_num): /
Заранее благодарю за ответы. Я что-то упускаю, но не могу найти: /
Редактировать: извините, мой код был "ИЛИ", а не "И"