У меня есть куча событий, которые перечислены на определенной странице.Каждое событие - это пост.Мне нужно, чтобы они отображались в порядке их появления, а НЕ в порядке даты публикации.Итак, я создал настраиваемое поле с именем TheDate и для каждого из них введите дату в следующем формате: 20110306.
Затем я написал свой запрос следующим образом:
query_posts( array ( 'cat' => '4', 'posts_per_page' => -1, 'orderby' => 'meta_value_num',
'meta_key' => 'TheDate', 'order' => 'ASC' ) );
Работаетотлично и отображает события в правильном порядке.Однако я также хочу, чтобы он отображал ТОЛЬКО даты с сегодняшнего дня.Я не хочу, чтобы он отображал даты, которые прошли.Кажется, способ сделать это с помощью «фильтра».Я пробовал это, но это не работает.
$todaysdate = date('Ymd');
query_posts( array ( 'cat' => '4', 'posts_per_page' => -1, 'orderby' => 'meta_value_num',
'meta_key' => 'TheDate', 'order' => 'ASC' ) );
function filter_where( $where = '' ) {
$where .= "meta_value_num >= $todaysdate";
return $where;
}
add_filter( 'posts_where', 'filter_where' );
Я полагаю, что это просто вопрос того, где я использую этот фильтр, возможно, он не в том месте.Или, может быть, сам фильтр плохой.Любая помощь или руководство будет принята с благодарностью.Спасибо!