Использую следующий код, чтобы выводить посты из custom post type
query_posts(
array(
'post_type' => 'success-stories',
'paged' => $paged,
'posts_per_page' => -1,
'meta_key' => 'post_id',
'orderby' => 'meta_value_num',
'order' => 'ASC'
)
);
Задано произвольное поле post_id, для того чтобы была возможность ручной сортировки постов (в нужном порядке). Но также нужно, чтобы выводились и те посты, у которых этот параметр не задан. Подскажите, что нужно изменить в параметрах запроса?
query_posts
использовать небезопасно.
Используйте get_posts
, pre_get_posts
или WP_Query
.
https://developer.wordpress.org/reference/functions/query_posts/
https://codex.wordpress.org/Function_Reference/get_posts
https://developer.wordpress.org/reference/hooks/pre_get_posts/
https://codex.wordpress.org/Class_Reference/WP_Query
'meta_key' => 'post_id'
В названиях нельзя использовать "post_id". Это зарезервированный (служебный) термин.
Запрос надо делать по OR
, выбирая как те записи, где post_id
не определен, так и те, где он больше нуля:
$args = array(
'post_type' => 'success-stories',
'paged' => $paged,
'posts_per_page' => -1,
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'post_id',
'compare' => 'NOT EXISTS',
'value' => ''
),
array(
'key' => 'post_id',
'compare' => '>',
'value' => '0'
)
),
'orderby' => 'meta_value_num',
'order' => 'ASC'
);
query_posts($args);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Помогите решить проблемуВ начале есть цикл foreach
Fatal error: Uncaught exception 'PDOException' with message
Есть база данных в которой порядка 600 записей у записей есть дата публикации которую кто только не вводил как попалоВ результате в одной колонке...
Здравствуйте! Пожалуйста, помогите с AJAX в связке с PHP