web-dev-qa-db-fra.com

Créer un code court pour afficher une boucle spécifique

Je me casse la tête en essayant de créer un code court pour afficher certaines boucles, mais je suis totalement coupé, je ne peux pas le comprendre, car c'est la première fois que j'essaie de le faire ... Je veux maintenant définir n'importe quel paramètre, il suffit de le mettre exactement comme si ... J'apprécierais que quelqu'un puisse m'éclairer ...

C'est le code que je veux mettre dans le shortcode

 <div class="clear"></div>
 <div class="childs grid_12"> 
  <?php
  $the_query = new  WP_Query( 
      array(
          'post_parent' => '8',
          'post_type' => 'page',
          'posts_per_page' => 4,
          'sort_column'   => 'menu_order'
      )
  ); ?>
 <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <div id="service-hp">
        <?php the_post_thumbnail('home-thumb') ?>
        <h2><?php the_title() ?></h2>
        <?php the_excerpt() ?>
        <a class="read-more" href="<?php the_permalink() ?>">en savoir plus <img src="<?php bloginfo( 'template_url' ); ?>/images/read-more.png"></a>
    </div> <!--  ends here -->
 <?php endwhile; ?>
 <?php wp_reset_query() ?>
 </div>
1
andresmijares

Jetez un oeil à mon dernier plugin ShortCodes UI qui vous permet de créer des codes courts sans coder, tout ce que vous avez à faire est de coller votre boucle dans le champ de droite du shortcode (PHP) et vous avez terminé.

1
Bainternet

Je montre mes boucles de cette façon:

function loop_shortcode( $atts = '' ) {

   (your shortcode code goes here)

}

function my_loop_shortcode( $atts ) {
         ob_start(); 
         loop_shortcode($atts);
         return ob_get_clean(); 
}         

add_shortcode('my_loop', 'my_loop_shortcode'); 

La manière "normale" ressemble à ceci:

function my_loop_shortcode( $atts ) {
             return 'your shortcode output';
    }         

    add_shortcode('my_loop', 'my_loop_shortcode'); 

Mais ne gère pas trop bien les boucles.

En savoir plus sur http://codex.wordpress.org/Shortcode_API

0
Wordpressor