How to create wordpress shortcode by this code

288 views Asked by At

Sir, I have this code to show all post of category and thumbnail for 1st post of them.

  <?php $recent = new WP_Query(); ?>
<?php $recent->query( 'cat=1&showposts=5' ); ?>
  <?php $is_first_post = true; ?>
  <?php while( $recent->have_posts() ) : $recent->the_post(); ?>
<ul>
    <li>

    <?php 
            if ( $is_first_post  && has_post_thumbnail() ) {
                the_post_thumbnail(); 
                $is_first_post = false; 
            }
            ?>
              <a href="<?php the_permalink(); ?>">
            <?php the_title(); ?>
            </a>

       </li>
</ul>
<?php endwhile; ?>

But I want show this using shortcode. which using category & post number but I can not make shortcode. Please help me.

1

There are 1 answers

0
Meldin Xavier On
// Add Shortcode
function recentpost_shortcode_func() {

    $recent = new WP_Query(); 
    $recent->query( 'cat=1&showposts=5' );
    $is_first_post = true;
    $html = '';
    while( $recent->have_posts() ) : $recent->the_post();
    $html .='<ul><li>';
    if ( $is_first_post  && has_post_thumbnail() ) {
    $html .=get_the_post_thumbnail(); 
    $is_first_post = false; 
    }
    $html .='<a href="'.get_the_permalink().'">';
    $html .=get_the_title(); 
    $html .='</a></li></ul>';
    endwhile; 
    return $html;

}
add_shortcode( 'recentpost', 'recentpost_shortcode_func' );