2012-09-25 4 views
0

Google의 데이터베이스가 이상해졌습니다. 이러한 세 가지 쿼리를 연속적으로 사용하는 것이 가능한 문제입니까?자료 검색어 :

<ul> 
    <?php 
     query_posts(array('category__in'=>38082, 'order-by'=>'post_date','order'=>'DESC','posts_per_page'=>'5')); 
     while (have_posts()) : the_post(); 
    ?>    

    <li><a href="<?php the_permalink(); ?>"><?php echo the_title()?></a></li> 

    <?php endwhile; ?> 
    <?php wp_reset_query();?> 
</ul> 

<ul> 
    <?php 
     query_posts(array('category__in'=>1, 'order-by'=>'post_date','order'=>'DESC','posts_per_page'=>'5')); 
     while (have_posts()) : the_post(); 
    ?>    

    <li><a href="<?php the_permalink(); ?>"><?php echo the_title()?></a></li> 

    <?php endwhile; ?> 
    <?php wp_reset_query();?> 
</ul>  

<ul> 
    <?php 
     query_posts(array('category__in'=>15, 'order-by'=>'post_date','order'=>'DESC','posts_per_page'=>'5')); 
     while (have_posts()) : the_post(); 
    ?>    

    <li><a href="<?php the_permalink(); ?>"><?php echo the_title()?></a></li> 

    <?php endwhile; ?> 
    <?php wp_reset_query();?> 
</ul> 
+1

* 데이터베이스에 대한 자세한 내용을 알려주시겠습니까 *? – Tchoupi

+1

데이터베이스에 몇 개의 게시물이 있습니까? –

+0

30K + 기사. while 루프가 무한대로 진행되는 것처럼 서버로드가 계속 진행되었습니다. – ok1ha

답변

1

query_posts()는 가장 효율적인 방법은 아닙니다.

우선, 무거운로드가 다른 곳에서 발생하지 않도록 코드를 주석 처리하십시오.

문제가 계속 발생하면 query_posts()에서 get_posts()로 전환 해보십시오. 또한 페이지 당 게시물 수가 숫자가 아닌 문자열로 나타났습니다.

하나의 열은 그 후 다음과 같이 보일 것이다 :

<ul> 
    <?php 
    $posts=get_posts(array('cat'=>38082, 'numberposts'=>5)); 
    foreach($posts as $post){ ?>    

     <li><a href="<?php echo get_permalink($post->ID); ?>"><?php echo $post->post_title;?></a></li> 

    <?php } ?> 
</ul> 

는 희망이 도움이!

1

첫 번째 카테고리 ID가 진짜입니까? 또한 당신이 거기에 3을보고 너무 많은 쿼리를 실행하고 그 범주 각각에 많은 양의 게시물을 가지고 있다면, 그것은 미친 행동을 일으킬 수 있습니다.