我运行类别特定循环的代码不起作用

时间:2013-09-02 09:20:08

标签: php wordpress content-management-system

我有一个代码来运行循环来获取特定类别的三个帖子。现在,当我运行此代码时,它可以正常工作,但另一个循环无法正常工作。被破坏的循环是一个循环,只需获取single.php的内容。

换句话说,下面的代码(用于特定于类别的循环)只会导致single.php页面中的另一个脚本失败。但它适用于所有其他页面。这个问题的原因是什么?非常感谢

    

    query_posts('in_category=پیشنهاد&posts_per_page=3');

    if( have_posts() ) : while(have_posts() ) : the_post(); ?>

    <li>     
      <a href="<?php the_permalink(); ?>">
       <div class='entry-suggested-title'>
             <p><?php the_title();?></p>                            
        </div>                       
        <div class='entry-suggested-image'>
           <?php
            the_post_thumbnail(array(182,182), array('alt'=>get_the_title()));
        the_title();
           ?>
         </div>     
       </a>                   
    </li>       
   <?php
    endwhile;
    endif;      
    ?>
    </ul>

1 个答案:

答案 0 :(得分:0)

请使用WP_Query课程代替query_posts();Why?)。 没有in_category参数,它应该是category__in

$args = array(
  'category__in' => array( 4 ),
  'posts_per_page' => 5
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) : while( $query->have_posts() ) : $query->the_post();
  the_title()
  the_permalink();
endwhile; endif;

in_category();Conditional Tag,应该在循环中使用:

if( have_posts() ) : while( have_posts() ) : the_post();
  if( in_category( '4' ){
    //Do something with the post that belong to category ID 4
  }else{
    //Do something else
  }
endwhile; endif;

希望它有所帮助!