В single.php у разных постов одинаковое содержание?

В single.php кроме самого поста вывожу отрывки (excerpt) нескольких рандомных постов из другой категории, но содержание у них выводится от главного поста. Почему так?

<div class="wrap-single">
        <div class="single-post-text">
            <form class="back-single">
                <input type="button" value="назад" onClick="history.back()">
            </form>
            <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
                <?php

                    echo get_the_post_thumbnail($post->ID,'post-minibox');
                ?>
                <h3 class="caption"><?php the_title(); ?></h3>
                <div class="text">
                    <?php ale_part('posthead');?>
                    <?php ale_part('postfull');?>
                    <?php ale_part('postfooter');?>
                </div>
            <?php endwhile; else: ?>
                <?php ale_part('notfound')?>
            <?php endif; ?>
        </div>
        <div class="comm-single">
            <?php comments_template(); ?>
        </div>
    </div>
    <?php wp_reset_postdata() ?>

    <div class="wrap-single-sidebar">
            <?php
            $args = array( 'posts_per_page' => 2, 'orderby' => 'rand', 'category' => 28 );
            $rand_posts = get_posts( $args );
            foreach( $rand_posts as $post ) : ?>
                <?php ale_part('postpreview'); ?> 
            <?php endforeach; ?>
            <?php wp_reset_postdata() ?>   
    </div>

postpreview:
<div class="news_wraps">
    <div class="news_items">
        <div class="post_name"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div> 
        <div class="post"><?php echo ale_trim_excerpt('18'); ?></div>
        <div class="meta">
            <div class="comments"><a href="<?php comments_link(); ?>"><?php comments_number(); ?></a></div> 
            <div class="date"><?php echo get_the_date(); ?></div>
        </div>
    </div>
</div>
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Попробуйте добавить функцию setup_postdata().
foreach( $rand_posts as $post ) : setup_postdata($post); ?>
    <?php ale_part('postpreview'); ?> 
<?php endforeach; ?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы