Query_posts с несколькими массивами объединены - PullRequest
0 голосов
/ 20 июня 2011

У меня установлена ​​Wordpress 3.1.3, и в настоящее время я работаю с пользовательским post_type (событиями) в дополнение к постам и страницам.

Мне нужно сделать один запрос для получения

  1. Последние сообщения не в категории 3 или 4
  2. События старше, чем сегодня, на основе пользовательских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 );  
}

Вот и все, спасибо за ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...