web-dev-qa-db-fra.com

Articles récents sur une page d'accueil statique

Je souhaite une page d’accueil statique sur mon site Web wordpress. Je l’ai déjà configurée et j’ai un peu de contenu. La prochaine étape est de placer 5 messages récents sous le contenu. En tant que page normale, ce n’est pas un problème. Dès que je règle la page sur une page d’accueil statique, les publications disparaissent.

Après des heures de recherche, je me suis rendu compte que j’avais besoin de "plusieurs boucles" dans mon modèle, j’en ai trouvé quelques exemples et j’ai essayé de les implémenter dans mon modèle sans succès. Je pense que j'ai à peu près le code pour intégrer les publications récentes, mais je pense avoir des problèmes de balisage et de balises de modèles pour afficher les publications.

J'espère que ce n'est pas trop compliqué à comprendre, et j'apprécie vraiment toute aide. Cela fait deux jours que je suis à la barre, sans aucun progrès. Je peux fournir n'importe quel code nécessaire à partir de modèles ou quoi que ce soit d'autre.

Mon site Web - www.completemuscleandfitness.com

Ok, c'est ce que j'ai jusqu'à présent

<?php
$args = array( 'numberposts' => '5' );
$recent_posts = wp_get_recent_posts( $args );

foreach( $recent_posts as $recent ){
echo '<li><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' .   $recent["post_title"].'</a> </li> ';
}       

qui montre cela - www.completemuscleandfitness.com

Comment puis-je le faire ressembler à Nice comme les autres pages de poste?

1
user27348

Tout d'abord, bienvenue!

Je suppose que vous utilisez le fichier front-page.php pour afficher votre page d'accueil.
Ce que vous devez faire, c'est ajouter le code suivant dans votre front-page.php:

<h2>Recent Posts</h2>
<ul>
<?php
    $args = array( 'numberposts' => '5' );
    $recent_posts = wp_get_recent_posts( $args );

    foreach( $recent_posts as $recent ){
        echo '<li><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' .   $recent["post_title"].'</a> </li> ';
    }
?>
</ul>

Plus d'informations sur wp_get_recent_posts() peuvent être trouvées ici .

Votre fichier modèle ressemblera à ceci:

<div id="main">
    <div class="new_post">
        ...
    </div>                                  
</div>

Vous pouvez essayer de mettre ce code dans <div id="main"> juste avant la balise de fermeture </div>:

<div id="main">
    <div class="new_post">
        ...
    </div>
    <h2>Recent Posts</h2>
    <ul>
    <?php
        $args = array( 'numberposts' => '5' );
        $recent_posts = wp_get_recent_posts( $args );

        foreach( $recent_posts as $recent ){
            echo '<li><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' .   $recent["post_title"].'</a> </li> ';
        }
    ?>
    </ul>                               
</div>
1
Mike Madern

Vous pouvez créer votre propre modèle de page d'accueil personnalisé identique à index.php dans votre répertoire de thèmes actif.

Dans ce fichier, vous pouvez créer votre propre requête personnalisée et parcourir les résultats.

Ex.

<h2>Recent Posts</h2>
<ul>
<?php
    $query = new WP_Query( array ( 'orderby' => 'date', 'order' => 'DESC' ) );

    while ( $query->have_posts() ) :
    $query->the_post();
    echo '<li>' . get_the_title() . '</li>';
endwhile;
?>
</ul>

Ceci vous pouvez penser comme exemple d'implémentation. Vous pouvez aller plus loin si nécessaire.

Ex.

    <?php 

// The Query
$the_query = new WP_Query( $args );

// The Loop
while ( $the_query->have_posts() ) :
    $the_query->the_post();
    echo '<li>' . get_the_title() . '</li>';
endwhile;

/* Restore original Post Data 
 * NB: Because we are using new WP_Query we aren't stomping on the 
 * original $wp_query and it does not need to be reset.
*/
wp_reset_postdata();


/* The 2nd Query (without global var) */
$query2 = new WP_Query( $args2 );

// The 2nd Loop
while( $query2->have_posts() ):
    $query2->next_post();
    echo '<li>' . get_the_title( $query2->post->ID ) . '</li>';
endwhile;

// Restore original Post Data
wp_reset_postdata();

 ?>

Vous pouvez obtenir plus d'informations here . Et pour plusieurs paramètres de la requête, reportez-vous à this .

0
Rohit Pande

À moins que je manque quelque chose, je pense que vous travaillez tous beaucoup trop dur.

Il me semble que le widget "publications récentes" devrait suffire.

Exemple:

http://wordpresstest.hjcs.org

"Nouvelles récentes" est le widget "publications récentes".

(Ce site est encore en construction - c'est pourquoi j'ai "test" dans le sous-domaine.)

0
Neil from Ohio