Wordpress get_posts (), возвращающий одно и то же сообщение все время - PullRequest
1 голос
/ 11 октября 2011

Я просто играю с WordPress, и я не имею ни малейшего представления о PHP.Я пытаюсь получить несколько случайных постов с помощью функции WordPress get_posts (). Мой код выглядит примерно так:

<?php
    args1 = array( 'numberposts' => 12 ,'orderby' => 'rand');
    $rand_posts1 = get_posts( $args1);
            foreach( $rand_posts1 as $randpost1 ) : ?> 
                <?php the_title(); ?>
                     <?php endforeach; ?>

Но этот код возвращает только один и тот же пост все 12 раз, и это последний пост.Я не знаю, что именно я делаю неправильно.

Может ли кто-нибудь помочь мне исправить мою ошибку или указать мне на мою проблему.

1 Ответ

6 голосов
/ 11 октября 2011

Попробуйте это

       <?php
            $args1 = array( 'numberposts' => 12 ,'orderby' => 'rand');
            global $post;
            //save the current post
            $temp=$post;
            $rand_posts1 = get_posts( $args1);

            foreach( $rand_posts1 as $post ) ://yes this is required, we need $post in setup_postdata
                setup_postdata($post);    ?> 
                <?php the_title(); ?>

            <?php endforeach; 

            $post=$temp;//restore current page

            ?>

Это сделает это.Также, пожалуйста, посмотрите на get_posts

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