Как я могу иметь сообщения WordPress для печати, чьи идентификаторы появляются в массиве? - PullRequest
1 голос
/ 29 июля 2009

У меня есть массив идентификаторов записей, содержащихся в $ postarray. Я хотел бы напечатать сообщения, соответствующие этим идентификаторам в Wordpress. Код, который я использую, выглядит следующим образом:

query_posts(array('post__in' => $postarray));
if (have_posts()) :
    while (have_posts()) : the_post();
        the_title();
        the_excerpt();
    endwhile;
endif;

Несмотря на это, цикл печатает самые последние сообщения, а не сообщения, содержащиеся в массиве. Как сделать так, чтобы wordpress использовал идентификаторы постов, которые я предоставляю в массиве, и печатал эти посты по порядку?

1 Ответ

0 голосов
/ 30 июля 2009

Для этого вам, возможно, придется вырваться из стандартного цикла WP ...

Попробуйте использовать функцию get_post () , которая получает идентификатор сообщения и возвращает объект, содержащий сведения о сообщении, в обычном формате OBJECT, Associate или Numeric Array.

См. полное объяснение get_post () .

Вы можете создать собственную подпрограмму для анализа каждого элемента в массиве. Вот краткий пример:

function get_posts_by_ids( $postarray = null ) {
    if( is_array( $postarray ) )
        foreach( $postarray as $post ) {
            $post_details = get_post( $post[0] );

            // Title
            echo $post_details->post_title;
            //Body
            echo $post_details->post_content ;
        }
}

Надеюсь, это поможет:)

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