Wordpress Shortcode来呼叫最新帖子

时间:2013-07-22 02:53:41

标签: php wordpress

我创建了一个自定义页面模板,以显示最新的12个帖子及其各自的标题和摘录,但我认为如果我可以用短代码调用它会更容易。

这是“post-grid.php”中的循环,它调用了这3个东西。

<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>

如何创建执行该循环的短代码?

我知道如何使用

添加短代码
add_shortcode('postGrid', 'postGrid');
function postGrid()
{
 //Code here
}

但是我不确定如何将上述功能实现。感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

由于您没有编辑任何代码 - 您正在创建自己的代码 - 只需将所有代码按原样放入回调函数中,它应该可以正常工作。

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>
}

答案 1 :(得分: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(); ?> 

希望这可以帮助你:)