Shortcoding with Divs

时间:2013-09-23 作者:Jacob

我正在尝试将自定义查询转换为短代码,但遇到了一些困难。首先,我不知道如何通过返回自定义缩略图大小$return_string...事实上,我不知道如何返回我的大部分造型。这是我到目前为止的情况。

我想说:

<?php $query = new WP_Query
            (array(\'showposts\' => 3, \'orderby\' => \'date\', \'order\' => \'DESC\'));
            while ($query->have_posts()) : $query->the_post();?>
                <div class="recent_post">
                    <div class="recent_title">          
                        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                    </div>
                    <div class="recent_img">
                        <?php the_post_thumbnail(\'recent_news_size\'); ?>
                    </div>
                    <div class="recent_excerpt">
                        <?php echo excerpt(22); ?>
                    </div>
                </div>
        <?php endwhile; ?>
        <?php wp_reset_postdata(); ?>
在此处输入我的短代码:

function recent_posts_function($atts){
   extract(shortcode_atts(array(
      \'posts\' => 1,
   ), $atts));

   query_posts(array(\'orderby\' => \'date\', \'order\' => \'DESC\' , \'showposts\' => $posts));
   if (have_posts()) :
      while (have_posts()) : the_post();
         $return_string .= \'//put stuff here\';
      endwhile;
   endif;

   wp_reset_query();
   return $return_string;
}

function register_shortcodes(){
   add_shortcode(\'recent-posts\', \'recent_posts_function\');
}

add_action( \'init\', \'register_shortcodes\');
你们中有谁知道一种快速而简单的方法来将所有这些都转换成一个短代码吗?

1 个回复
SO网友:Eugenious

这应该可以做到:http://codex.wordpress.org/Shortcode_API#Output

从文档中逐字复制:

function myShortCode() {
    ob_start();
    ?> <HTML> <here> ... <?PHP
    return ob_get_clean();
}
基本上,所有HTML都不会被输出,而是存储在“输出缓冲区”中,并由函数返回。

结束