J'ai 2 sections dans ma page d'accueil comme ceci:
<section class="tours" id="tours">
<div class="container-fluid">
<h2><?php the_field('tours_title'); ?></h2>
<div class="row">
<?php
global $post; // needed this
$temp = $wp_query; $wp_query= null;
$wp_query = new WP_Query(); $wp_query->query('cat=3' . '&showposts=5' . '&paged='.$paged);
if($wp_query->have_posts()): ?>
<?php while ($wp_query->have_posts()) : $wp_query->the_post();
// get the latest blog entry
$img_id = get_post_thumbnail_id(get_the_ID());
$alt_text = get_post_meta($img_id , '_wp_attachment_image_alt', true); ?>
<div class="col20">
<div class="tour-img">
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
</div>
<div class="tour-desc">
<h3><?php the_title(); ?></h3>
<p><?php the_field('short_description'); ?></p>
</div>
</div>
<?php endwhile;
endif; ?>
</div>
</div>
<div class="tours-bg">
<video autoplay loop>
<source src="<?php bloginfo('stylesheet_directory'); ?>/images/file1.mp4" type="video/mp4">
</video>
<div class="tours-overlay"></div>
</div>
</section>
<section class="about" id="about">
<div class="about-content">
<h2><?php the_field('about_title'); ?></h2>
<p><?php the_content(); ?></p>
</div>
<div class="about-bg">
<video class="bv-video" autoplay loop></video>
</div>
</section>
Après cette requête, je n'obtiens pas les valeurs correctes dans la deuxième section. Comment peut-on résoudre cela ? Dans la deuxième section, la valeur de the_content()
n'est pas obtenue à partir de la page d'accueil mais à partir de l'un des messages de la section précédente.
Ajoutez <?php wp_reset_query(); ?>
après votre boucle personnalisée pour restaurer les données de $wp_query et de publication globale à la requête principale d'origine.
Référence : https://codex.wordpress.org/Function_Reference/wp_reset_query
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots