web-dev-qa-db-fra.com

Extraits de page de garde statiques

En travaillant sur un nouveau site, j'essaie de planter des extraits d'articles récents sur une page de couverture statique. J'avais fait tout mon contenu statique en dehors de wordpress (sous forme de fichiers statiques), mais j'étais convaincu de tout insérer dans le WP, pour ainsi dire.

Sur mon fichier statique externe qui servait de page d'accueil, j'avais compris comment inclure l'en-tête de blog <?php require('../wordpress/wp-blog-header.php'); ?>, puis appeler des publications sur cette page, et cela fonctionnait à merveille:

<?php 
                        $count = 0; 
                    ?>
                    <?php if ( have_posts() ) while ( have_posts() && $count <= 6 ) : the_post(); ?>
                            <section class="post">
                                <header class="post">
                                    <h2><a class="light" href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
                                        <?php twentyten_posted_on(); ?>
                                    <div class="hr"></div>
                                </header>
                                <article class="post">
                                    <?php the_excerpt(); ?>
                                </article>
                                <footer class="post">
                                    <?php twentyten_posted_in(); ?>
                                </footer>
                            </section>
                    <?php $count++; ?>
                    <?php endwhile; // end of the loop. ?>

Donc, maintenant, je ai mis en place un modèle WordPress en première page , et il est livré dynamiquement, en utilisant l'en-tête de mon thème et ce même morceau de la boucle, je ne reçois pas posts (-) , mais pages en arrière. Au lieu de voir un ensemble de messages en cours, je récupère des informations sur le titre des 3 pages wp actuellement affichées sur mon site. Je comprends que cela est dû aux variables de requête url, mais je ne vois pas trop comment y arriver.

J'ai essayé d'appeler manuellement un new WP-Query(); mais cela n'a rien retourné. Tho Je suppose que cela peut fonctionner, compte tenu des arguments appropriés ...

Avez-vous des idées sur la façon de tirer les articles récents, au lieu d’une liste de pages, sur une page de couverture statique avec cette boucle modifiée?

Très appréciée -

1
Bosworth99

Ah, compris, y était presque avec le nouveau WP_Query, mais la méthode de requête n’appelait pas dessus ... Cela fonctionne parfaitement:

<?php 
                            $excerptQuery = new WP_Query();
                            $excerptQuery->query('showposts=6');
                        ?>
                        <?php if ( $excerptQuery->have_posts() ) while ( $excerptQuery->have_posts()) : $excerptQuery->the_post(); ?>
                                <section class="post">
                                    <header class="post">
                                        <h2><a class="light" href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
                                            <?php twentyten_posted_on(); ?>
                                        <div class="hr"></div>
                                    </header>
                                    <article class="post">
                                        <?php the_excerpt(); ?>
                                    </article>
                                    <footer class="post">
                                        <?php twentyten_posted_in(); ?>
                                    </footer>
                                </section>
                        <?php endwhile; // end of the loop. ?>
1
Bosworth99

Existe-t-il une raison particulière de ne pas utiliser le fichier de modèle front-page.php et de ne pas se préoccuper d'essayer d'extraire les en-têtes WordPress dans des fichiers externes?

L'utilisation du fichier modèle front-page.php est simple:

  1. Créer une nouvelle page statique, avec n'importe quel nom quelconque (appelons-la "Front Page")
  2. Allez à Dashboard -> Settings -> Reading et réglez "Affichages page avant" sur "Page statique".
  3. Définissez la "liste déroulante" sur la "page statique" que vous avez créée à l'étape 1.
  4. Créez un nouveau fichier de modèle pour votre thème, appelé front-page.php, et incluez-y votre code de boucle personnalisé, ci-dessus.

En outre, vous devez filtrer correctement la requête de boucle principale en sortie sur front-page.php, plutôt que d'utiliser la condition && $count <= 6 dans votre appel à la boucle.

Je recommanderais d'utiliser un simple appel à get_posts() et de définir l'argument numberposts sur 6.

2
Chip Bennett