web-dev-qa-db-fra.com

page de blog montrant seulement le premier post

Site en direct.

Ma page de blog ne montre que la toute première page publiée, et non les messages suivants. J'ai également remarqué que lors de l'affichage de la source de la page, la page du blog semble utiliser single.php au lieu de index.php, ce que j'ai défini comme modèle. Cela pourrait-il être le problème?

Ci-dessous le code en question:

index.php

<?php
/*
Template Name: Blog
*/
?>

<?php get_header(); ?>

<div id="container">
    <div id="blog">
            <?php if(have_posts()) : while(have_posts()) : the_post(); ?>
            <div id="headline">
                    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            </div><!-- end headline -->
            <div id="post-meta">
                            <p>written by <?php the_author(); ?> on <?php the_date(); ?></p>
            </div><!-- end post-meta -->
            <div id="post">
                    <?php the_content('read more...'); ?>
            </div><!-- end post -->
            <?php endwhile; ?>
            <?php else : ?>
                    <p>I'm not sure what you're looking for.</p>
            <?php endif; ?>
    </div><!-- end blog -->

<?php get_sidebar(); ?>

<?php get_footer(); ?>
1
user1255049

Il semble que blog.php soit un modèle de page statique personnalisé , oui?

Si tel est le cas, la boucle principale affichera le contenupost de la page statiqueà laquelle elle est appliquée.

Si vous souhaitez créer un modèle de page personnalisé affichant des articles de blog, vous devez créer une bouclesecondary looppour interroger/générer les articles de blog requis. Je dirais de suivre l'exemple du Codex , mais dans ce cas: non. Cet exemple utilise actuellement query_posts(), qui est une implémentation incorrecte.

Cependant: Je suppose que ce que vous essayez réellement de faire ici consiste à personnaliser votreblog posts index? Si tel est le cas, vous ne devriez pas utiliser de modèle de page personnalisé, mais plutôt créer/modifier le fichier de modèle approprié , qui, pour l'index des articles de blog , est (par ordre de priorité):

  • home.php
  • index.php
1
Chip Bennett

Vous voudrez peut-être supprimer des sections du modèle php qui ne résout pas le problème. J'ai découvert que le modèle que j'ai copié d'un blog en tant que modèle de départ contenait des erreurs dès le début. Donc, pourquoi le flux ne fonctionnait pas.

0
Archie Butler