У меня установлена Wordpress 3.1.3, и в настоящее время я работаю с пользовательским post_type (событиями) в дополнение к постам и страницам.
Мне нужно сделать один запрос для получения
- Последние сообщения не в категории 3 или 4
- События старше, чем сегодня, на основе пользовательскихfield (esn_event_enddate).
Я думал, что выполнение array_merge было бы хорошим решением, но оно не работает, даже если 2 отдельных массива работают нормально, если используются для одного query_posts (не рабочий запрос ниже).
function esn_recent_post_query() {
$recent_post_array = array(
'cat' => -3,-4,
'posts_per_page' => 2,
);
$past_event_array = array(
'meta_key' => 'esn_event_enddate',
'meta_value' => date("Y/m/d h:i A"),
'meta_compare' => '<',
'posts_per_page' => 3,
);
$recent_post_event_array = array_merge($recent_post_array, $past_event_array);
query_posts( $recent_post_event_array );
}
Я также пытался с одним массивом, без слияния, но настраиваемое поле "esn_event_enddate" не пусто только внутри post_type "event", и поэтому я не смог получить нормальный "сообщения "(не работает запрос ниже).В этом случае он показывает только прошедшие «события».
function esn_recent_post_query() {
$recent_post_array = array(
'post_type' => array('event','post'),
'cat' => -3,-4,
'posts_per_page' => 5,
'meta_key' => 'esn_event_enddate',
'meta_value' => date("Y/m/d h:i A"),
'meta_compare' => '<'
);
query_posts( $recent_post_array );
}
Вот и все, спасибо за ваше время.