Поддержка Проблемы и решения Loop-цикл без дубликатов постов

  • Добрый день.

    Прошу помощи, реализован вывод постов портфолио через loop цикл. Посты выводятся из рубрики Портфолио и ее подрубрик. Кусок листинга loop следующий:

    PHP код:

    $my_query = new WP_Query($args);
    if (in_category('4'))
        {
    echo '<div id="spisok"><ul>';
    $args=array(
      'orderby' => 'name',
      'order' => 'DESC',
    'child_of'=> 4,
      );
    $categories=get_categories($args);
    echo '<li><a href="'.get_category_link(4).'">Все</a></li>';
      foreach($categories as $category) {
        echo '<li><a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a></li>';
        } ;
    echo'</ul></div><div id="clear"></div>'; 
    
    while ( have_posts() ) : the_post(); ?>
        <!-- блок портфолио-->
            <div class="cat-service">
            <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
            <div id="thumb"><?php the_post_thumbnail(); ?></div>
            <div class="cat-service-info">
                <div class="cat-service-comments"> <i>Комментариев к посту: </i>
                    <a href="<?php the_permalink() ?>#comments">
        <?php comments_number('0', '1', '%'); ?>
    </a>
                </div>
    <div id="cat-service-sep"><i>Находиться в:</i></div><?php the_category()?></div>
            </div>
            <?php endwhile;
    }
    ....

    ссылка на портфолио — http://cinematone.kz/category/portfolio/

    Проблема в том, что если статья находится в нескольких подрубриках включая саму рубрику Портфолио, то она дублируется по количеству рубрик при выводе в портфолио, а при переходе по подрубрикам портфолио статьи не дублируются, loop нормально отрабатывает. Как можно из цикла loop исключить дубликаты статей?

    Подскажите какое-нить решение. Спасибо

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Вставлял в код
    wp_reset_postdata();
    перед циклом loop — не помогло

    решено — сделал так:

    if (in_category('4'))
    	{
    $posts = query_posts($query_string . '&posts_per_page=5');
        while(have_posts()): the_post(); 
    
    if( $post->ID == $do_not_duplicate ) continue; $do_not_duplicate = $post->ID; ?>
     	<!-- блок портфолио -->
        <div class="cat-service">
     		<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
    		<div id="thumb"><?php the_post_thumbnail(); ?></div>
    		<div class="cat-service-info">
    			<div class="cat-service-comments"> <i>Комментариев к посту:&nbsp;</i>
    				<a href="<?php the_permalink() ?>#comments">
        <?php comments_number('0', '1', '%'); ?>
    </a>
    			</div>
    <div id="cat-service-sep"><i>Находиться в:</i></div><?php the_category()?></div>
     		</div>
     		<?php endwhile;

    всем спасибо..
    странно, что вроде бы на таком форуме никто даже и не решил хоть что-то написать, хотя и я наверное не лучше

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