WordPress : WP Query Foreach a une boucle infinie
J’ai besoin d’aide. Je n’arrive pas à comprendre pourquoi ce script boucle à l’infini parce que mon site continue de geler le serveur, c’est-à-dire qu’il limite les ressources au point d’arrêter mon serveur SQL.
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?>
Comment résoudre ça? Merci
Solution n°1 trouvée
<?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;
}
?>
Solution n°2 trouvée
après global $post;
s’il vous plaît ajouter ce qui suit
$old_post = $post;
Puis après l’ endforeach
ajouter ce qui suit
wp_reset_postdata()
et après cela ajouter
$post = $old_post;
J’espère que cela t’aides
Solution n°3 trouvée
Votre boucle foreach n’est pas fermée correctement, c’est la raison pour laquelle elle se répète à l’infini.
Remplacez la dernière ligne de votre code par ceci :
<?php endforeach; ?>
0 commentaire