2016-08-30 2 views
1

도움이 필요합니다. 나는 왜이 스크립트가 무한히 반복되는지를 알 수 없다. 내 사이트는 이제 서버를 멈추게한다. 즉, SQL 서버를 종료하는 지점까지 리소스를 제한한다.WP 질의 Foreach에는 무한 루프가 있습니다.

global $post; 
$args = array(
    'posts_per_page' => 4, 
    'numberposts'  => 4, 
    'offset'   => 0, 
    'category'  => $id, 
    'orderby'   => 'post_date', 
    'order'   => 'DESC', 
    'meta_key'  => '', 
    'meta_value'  => '', 
    'post_type'  => 'post', 
    'post_mime_type' => '', 
    'post_parent'  => '', 
    'post_status'  => 'publish', 
    'suppress_filters' => true 
); 
$tips = get_posts($args); 
foreach($tips as $post) : setup_postdata($post); ?> 
    <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title(); ?>"> 
     <?php if(has_post_thumbnail()){ the_post_thumbnail('medium', array('itemprop'=>'image')); } ?> 
    </a> 

<?php endforeach?> 

어떻게 해결할 수 있습니까? 감사합니다

+0

안녕 @Anant을하는 데 도움이, 내가 출력을 추가했습니다. Pliz는 $ i = 1을 무시하고 제거했습니다. Thx – Mwesigwa

+0

많은 도움을 주셔서 감사합니다. , 물론 고마워.이 모든게 다 고쳐지기를 바랍니다. – Mwesigwa

+0

의미 상 오류가 발생했습니다! 잘못된 출력이 남아 있습니다 Mwesigwa

답변

1

global $post; 후 추가하십시오

$old_post = $post; 

는 그 다음 endforeach 후 다음

wp_reset_postdata() 

이후 추가 다음 추가 할 내용 :

$post = $old_post; 

희망이

+0

나는 전에 이것을 보지 못했다. 그것이 나의 퍼즐을 해결하기를 희망한다. 감사합니다 – Mwesigwa

0

당신의 foreach 루프가 제대로 닫히지 않습니다, 이것은 그것의 무한 반복입니다.

이와 코드의 마지막 줄을 바꾸기 :

<?php endforeach; ?> 
+0

고마워요 @ 타룬, 실제 코드는 오른쪽 닫습니다. 나는 단지 여기에서 오류를 범했다! 구문 오류가 없습니다. 쿼리가 무한정 반복되어 내 서버 리소스를 제한하는 것 같습니다. – Mwesigwa

1
<?php 
    $args = array(
     'posts_per_page' => 4, 
     'numberposts'  => 4, 
     'offset'   => 0, 
     'category'  => $id, 
     'orderby'   => 'post_date', 
     'order'   => 'DESC', 
     'meta_key'  => '', 
     'meta_value'  => '', 
     'post_type'  => 'post', 
     'post_mime_type' => '', 
     'post_parent'  => '', 
     'post_status'  => 'publish', 
     'suppress_filters' => true 
    ); 
     $the_query1 = new WP_Query($args); 
     if (count($the_query1->posts)>0) { 

      while ($the_query1->have_posts()) : $the_query1->the_post(); ?> 
        <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title(); ?>"> 
          <?php if(has_post_thumbnail()){ the_post_thumbnail('medium', array('itemprop'=>'image')); } ?> 
        </a> 
      <?php endwhile; 


     } 
?> 
+0

이것은 내게 어떤 출력을 제공하지 않지만 while 루프로 전환하는 아이디어는 이것이 지속된다면 내가 할 수있는 것일 수 있습니다. – Mwesigwa

+0

while주기에서 볼 수 있듯이 링크 안에 싸인 된 미리보기 이미지 만 표시되도록하려면 미리보기 이미지가 첨부되어 있는지 확인하십시오. 또는 '이미지 뒤에 링크 태그. 나는 홈 페이지에 최신 블로그 게시물을 표시하기 위해 동일한 ode를 사용하고 있습니다. https://i.imgur.com/hYriXBD.png – Beneris

관련 문제