2013-07-22 6 views
0

J'ai créé un modèle de page personnalisé pour afficher les 12 derniers messages avec leur titre et extrait respectifs, mais je pensais que ce serait plus facile si je pouvais appeler cela avec un shortcode.Wordpress Shortcode pour appeler les derniers messages

Ceci est la boucle dans "post-grid.php" qui appelle à ces 3 choses.

<section class="post-grid"> 
    <?php 
     $grid = array('post_per_page' => 12); 
     $query = new WP_Query($grid); 
     while ($query->have_posts()) : $query->the_post(); 
    ?> 
<div class="grid-posts"> 
    <h2><?php the_title(); ?></h2><br> 
    <?php the_post_thumbnail('featured'); ?><br> 
    <?php the_excerpt() ?><br> 
</div> 
<?php endwhile; // end of the loop. ?> 
</section> 

Comment puis-je créer un shortcode qui exécute cette boucle?

Je sais comment ajouter un shortcode en utilisant

add_shortcode('postGrid', 'postGrid'); 
function postGrid() 
{ 
//Code here 
} 

Mais je ne suis pas sûr de savoir comment mettre en œuvre ce qui précède en fonction. J'apprécie ton aide!

Répondre

0
<?php 

    $args = array(
    'post_type' => 'post', 
    'posts_per_page' => 12, 
    'paged' => $page, 
    ); 

query_posts($args);?> 
hope this will help you :) 

Point related to add Post Thumbnail: 

// check if the post has a Post Thumbnail assigned to it. 
<?php if (has_post_thumbnail()) { 
the_post_thumbnail(); 
} the_content(); ?> 

Hope this vous aide :)

+0

Hey ça marche! mais comment puis-je ajouter les vignettes? aussi quand j'enveloppe le poste dans divs il me donne 500 erreur de serveur! – enriqg9

+0

Votre bienvenue et va mettre à jour le point pour ajouter des vignettes. // Vérifie si une publication Post Thumbnail lui a été affectée. Aaron

0

Comme vous ne modifiez aucun code - vous créez le vôtre - il suffit de mettre tout ce code dans la fonction de rappel tel quel et cela devrait fonctionner.

add_shortcode('postGrid', 'postGrid'); 
function postGrid() 
{ 
    <section class="post-grid"> 
     <?php 
      $grid = array('post_per_page' => 12); 
      $query = new WP_Query($grid); 
      while ($query->have_posts()) : $query->the_post(); 
     ?> 
    <div class="grid-posts"> 
     <h2><?php the_title(); ?></h2><br> 
     <?php the_post_thumbnail('featured'); ?><br> 
     <?php the_excerpt() ?><br> 
    </div> 
    <?php endwhile; // end of the loop. ?> 
    </section> 
} 
+0

je l'ai fait, mais je reçois 500 Erreur de serveur et je suis en mon site dans localhost! – enriqg9

Questions connexes