Я пытаюсь найти способ исключить сообщения, помеченные как «избранные», на странице «последние сообщения».
Как вы можете видеть ниже, на странице моих последних сообщений отображаются только сообщения из 2 категорий (cat1 и cat2). Проблема в том, что через некоторое время я добавлю сообщение в одну из категорий ниже и отмечу его как "рекомендуемая ссылка" или что-то еще. Поэтому, когда вы просматриваете страницу, вы в основном видите избранные посты в заголовке (OUT of l oop) и в теле (IN the l oop). Как бы я go об удалении избранного сообщения, которое находится в l oop?
<?php
// args query
$args = array(
'post_type' => 'post',
'posts_per_page' => 3,
'order' => 'DESC',
// display only posts in specifics categories (slug)
'category_name' => 'cat1, cat2'
);
// custom query
$recent_posts = new WP_Query($args);
// check that we have results
if($recent_posts->have_posts()) : ?>
<?php
// start loop
while ($recent_posts->have_posts() ) : $recent_posts->the_post();
?>
Для тех, кто интересуется, я попробовал следующее, но это не сработало:
$args = array(
'post_type' => 'post',
'posts_per_page' => 3,
'order' => 'DESC',
// display only posts in specifics categories (slug)
'category_name' => 'cat1, cat2',
'meta_query' => array(
array(
'key' => 'featured',
'value' => 'yes',
'compare' => 'NOT LIKE',
),
),
);
При добавлении вещи 'meta_query', которую предлагали другие, кажется, что страница останавливается отображение результатов все вместе.
Есть идеи, как правильно написать это и, возможно, предложить дополнительные альтернативные решения?
Спасибо.