web-dev-qa-db-fra.com

page.php montrant la boucle des publications et non le contenu de la page

Ma page d'accueil affiche les derniers messages en utilisant index.php.

Mon page.php contient le wp_header en haut, le wp_footer ci-dessous, et ceci entre les deux:

while (have_posts()) : the_post();
    get_template_part( 'content', 'page' );
endwhile;

Mon content-page.php est censé imprimer the_content() et la the_title() de la page, mais renvoie le contenu et le titre de tous les articles. Qu'est-ce que je rate?

La page est définie sur 'Modèle par défaut'.

J'ai ajouté mon page.php et content-page.php ci-dessous:

page.php:

<?php /* Page */ ?>
<?php get_header(); ?>
    <div class="container-fluid">
        <div class="container">
            <?php while (have_posts()) : the_post();
                      get_template_part( 'content', 'page' );
                  endwhile; ?>
        </div>
    </div>
<?php get_footer(); ?>

content-page.php

<?php /* The template used for displaying page content in page.php */ ?>
<?php
  echo '<div class="row">';
    echo '<div class="col-sm-12">';
      echo the_title( '<h2>', '</h2>');
      echo '<p>' . the_content() . '</p>';
    echo '</div>';
  echo '</div>';
?>

index.php

<?php /* Main file */ ?>

<?php get_header(); ?>

<div class="container-fluid">
  <div class="container">
    <?php
      if(have_posts()) :
        while (have_posts()) : the_post();
          echo '<div class="row';
          if($count > 2){
            echo ' hideme';
          }
          echo '">';
            echo '<div id="section-'. $count++ .'" class="col-sm-12" style="text-align:center;">';
              echo '<p><a href="' . get_permalink( get_the_ID() ) . '">';
              echo the_post_thumbnail();
              echo '<br>' . get_the_title() . ' // ' . get_the_category_list(', ') . '</a></p>';
            echo '</div>';
          echo '</div>';
        endwhile;
      endif;
    ?>
  </div>
</div>

<?php get_footer(); ?>
1
Sultenhest

D'après votre requête (notée dans les commentaires ci-dessus), la page que vous consultez considère qu'il s'agit de votre page d'accueil (votre blog, par exemple).

Notez dans l'objet wp_query ce qui suit

[found_posts] => 8
[is_home] => 1

is_home signifie qu'il croit afficher la page d'accueil.

Si vos fichiers sont configurés comme vous le dites, vous devez vérifier votre panneau d'administration sous Paramètres> Lecture et assurez-vous que la page que vous consultez n'est pas configurée en tant que "Page messages" Section des écrans de page d'accueil .

Si ce n'est pas le cas, il peut être utile de noter le contenu de vos fichiers index.php et/ou home.php ... car la page que vous consultez pense vraiment être votre page d'accueil/blog.

1
Privateer