Как перечислить только будущие события в WP_query?

У меня есть WP-запрос, который должен отображать до 20 сообщений о будущих событиях. Сообщения должны быть только из пост-формата в стороне и должны быть упорядочены по дате. Эта часть работает довольно хорошо. Что не работает, то есть исключить события, которые уже прошли. (‘Compare’ => ‘> =’, или ‘meta_compare’ => ‘> =’, не работает. :() Может кто-нибудь сказать мне, где моя ошибка?

Большое спасибо!
Рабо

Вот мой код:

                    <?php

$current_month = "";

setlocale(LC_ALL, 'de_DE@euro'); // Monatsnamen auf Deutsch ausgeben

$args = array( 'showposts' => 20,
'cat' => array
(1,2,7,8,9
),
'meta_key' => 'datumsfeld',
'orderby' => 'meta_value',
'compare' => '>=',
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => 'post-format-aside',
)
)
);

$myQuery = new WP_Query( $args   );
while ($myQuery->have_posts()) : $myQuery->the_post();

$datefield = DateTime::createFromFormat('Ymd', get_field('datumsfeld'));
if($datefield){
$month = $datefield->format("m");
$year = $datefield->format("Y");

if($month != $current_month){
echo '<div class="abstand"><strong>'.strftime("%B %Y",$datefield->getTimestamp()).'</div></strong>';
$current_month = $month;
}
}
?>

1

Решение

Как насчет добавления мета-запроса, чтобы исключить нежелательные сообщения? Используемый вами meta_key предназначен только для правильного размещения сообщений.

Что-то вроде:

$args = array( 'showposts' => 20,
'cat' => array  (1,2,7,8,9),
'meta_key' => 'datumsfeld',
'orderby' => 'meta_value',
'compare' => '>=',
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => 'post-format-aside',
)
),
'meta_query' => array(
array(
'key'     => 'datumsfeld',
'value'   => '...' /* something like today */,
'compare' => '>=',
),
),
);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]