• Этот код отвечает за вывод случайных 4 записей

    <h3 class="sidetitl rounded"> Смотрите также: </h3>
    
    <?php
    $myposts = get_posts('post_type=videos&numberposts=4&orderby=rand');
    foreach($myposts as $post) :
    ?>
    
    <div class="related-posts"><?php $poster = get_post_meta($post->ID, 'poster_value', $single = true)  ?>
    <div class="box-cel"><a href="<?php the_permalink(); ?>">
    <img  src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src=<?php echo $poster; ?>&h=216&w=160&zc=1" alt=""/></a>
    </div>
    <div class="title-cel"><a class="s-cel" href="<?php the_permalink(); ?>"><?php the_title();?></a></div></div>
    
    <?php endforeach; ?>

    Когда я его вставляю в single.php, комментарии не отображается от самой записей a от четвертой записи (последней) которая выводится с помощью этого кода.

    Код single.php

    <?php get_header(); ?>
    
    <div class="clear"></div>
    
    <div id="leftcolumn">
    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
    
    <div class="post" id="post-<?php the_ID(); ?>">
    
    <?php $trailer = get_post_meta($post->ID, 'trailer_value', $single = true)  ?>
    <?php $poster = get_post_meta($post->ID, 'poster_value', $single = true)  ?>
    
    <a href="<?php echo $trailer; ?>" rel="prettyPhoto" ><img class="sposter rounded" src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src=<?php echo $poster; ?>&h=270&w=200&zc=1" alt=""/></a>
    <div class="title">
    <h1><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h1>
    </div>
    <div class="metas">
    <span class="smeta"><?php echo get_the_term_list($post->ID,  'genre', 'Жанр : ', ', ', ''); ?></span>
    <span class="smeta"><a href="<?php echo $trailer; ?>" rel="prettyPhoto"><img src="<?php bloginfo('stylesheet_directory'); ?>/images/play.png" width="18" height="15" align="ABSBottom" alt=""/> смотреть трейлер</a></span>
    </div>
    
    <div class="postcover"> 
    
    <?php the_content('Read the rest of this entry »'); ?>
    <?php include (TEMPLATEPATH . '/ad1.php'); ?>
    <!-- код который отвечает за вывод случайных 4 записей  -->
    <h3 class="sidetitl rounded"> Смотрите также: </h3>
    
    <?php
    $myposts = get_posts('post_type=videos&numberposts=4&orderby=rand');
    foreach($myposts as $post) :
    ?>
    
    <div class="related-posts"><?php $poster = get_post_meta($post->ID, 'poster_value', $single = true)  ?>
    <div class="box-cel"><a href="<?php the_permalink(); ?>">
    <img  src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src=<?php echo $poster; ?>&h=216&w=160&zc=1" alt=""/></a>
    </div>
    <div class="title-cel"><a class="s-cel" href="<?php the_permalink(); ?>"><?php the_title();?></a></div></div>
    
    <?php endforeach; ?>
    <!-- Конец кода   -->
    <div class="clear"></div>
    
    </div>
    </div>
    
    <?php comments_template(); ?>
    <?php endwhile; else: ?>
    
    		<h1 class="title">Not Found</h1>
    		<p>I'm Sorry,  you are looking for something that is not here. Try a different search.</p>
    
    <?php endif; ?>
    
    </div>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    Помогите пожалуйста исправить ошибку

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Искал решение моей проблемы и наткнулся на то, что может быть кому-то полезно в решение моей проблемы.

    <?php
    function az_related_posts( $post_count ) {
                // http://codex.wordpress.org/Function_Reference/get_posts
                global $post;
                // Чтобы эта функия не повлияла на все остальные
                // У меня например портился вывод комментов
                $tmp_post = $post;
                // Нужно определить принадлежность к категории текущего поста
                $cur_cat = get_the_category($post->ID);
                // Аргументы определяющие какие посты выводить
                $args = array( 'numberposts' => $post_count, 'offset'=> 1, 'category' => $cur_cat[0]->cat_ID, 'orderby' => 'rand' );
                // Получаем посты
                $myposts = get_posts( $args );
                ?>
    
                <strong>Из рубрики <?php echo $cur_cat[0]->cat_name  ?></strong><br/><br/>
                <ul class="">
                <?php // Ну и собственно вывод
                foreach( $myposts as $post ) :  setup_postdata($post); ?>
    
                    <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?> категория <?php echo $cur_cat[0]->cat_name  ?>"><?php the_title(); ?></a></li>
                <?php endforeach;
                            // Возвращаем $post
                $post = $tmp_post;
                setup_postdata($post);
                ?>
                </ul>
    <?php } ?>

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    После цикла не хватает вызова wp_reset_postdata():
    http://codex.wordpress.org/Function_Reference/wp_reset_postdata

    Спасибо, теперь все правильно работает.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Проблема с комментариями» закрыта для новых ответов.