Wordpress - Как получить сообщения любого типа, включая вложения по идентификаторам? - PullRequest
0 голосов
/ 25 февраля 2011

Мне нужно получать любые сообщения по списку идентификаторов ($ id_list), вот мои коды

query_posts(array('posts_per_page'=>-1,
               'caller_get_posts'=>1,
               'post_type'=>'any',
               'post__in'=>$id_list)
           );

Я получил сообщения и страницы по этому запросу, но вложения не включены, я нашелони фильтруются по 'post_type = any', который на самом деле не включает вложения.

Как мне получить их все без необходимости делать дополнительный запрос?

1 Ответ

1 голос
/ 25 февраля 2011

Ну, это заняло целую вечность, чтобы выяснить. Оказывается, post_type может обрабатывать массив, который вам понадобится для принудительного извлечения вложений. Вам также нужно установить post_status в массив, чтобы он мог захватывать вложения, которые обычно имеют статус «наследовать». Кажется, у некоторых из них есть post_status = 'closed', но я не слишком задумывался над тем, что это значит.

Вот мой запрос, который выбирает сообщения и вложения:

<?php    
    $args = array(
        'post_type' => array(
            'attachment',
            'post',
        ),
        'post_status' => array(
            'open',
            'inherit',
        ),
        'numberposts' => '900',
        'order' => 'DESC',
    );
    $posts = get_posts($args);
    print_r($posts);
?>

РЕДАКТИРОВАТЬ: Он должен хорошо работать с циклом, который вы также использовали. Я просто использовал get_posts, потому что было проще распечатать все это.

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