用于在页面内显示最新新闻文章的快捷代码

时间:2012-02-01 作者:chocolata

有人能帮我写一个自定义的快捷码,以便在Wordpress中的任何地方显示最新的帖子吗?我已经在定制页面模板中看到了许多在纯PHP中实现这一点的方法,但是如果我尝试转换它,我总是会遇到问题(双重显示)或者完全没有问题。只要是最近的一篇文章,就应该是一篇文章(而不是一页)。

我只需要这样:

<h2>Title</h2>
<p>Excerpt...</p>
<a href="permalink" class="button">Read more</a>
我还寻找了一些插件,但这也有问题。它们破坏了所有的短代码功能,或者只是显示一个列表。。。

有人能帮我得分吗?我当然会很感激的。

1 个回复
最合适的回答,由SO网友:Shane 整理而成

在函数中。php文件:

 function my_recent_post()
 {
      global $post;

      $html = "";

      $my_query = new WP_Query( array(
           \'post_type\' => \'post\',
           \'posts_per_page\' => 1
      ));

      if( $my_query->have_posts() ) : while( $my_query->have_posts() ) : $my_query->the_post();

           $html .= "<h2>" . get_the_title() . "</h2>";
           $html .= "<p>" . get_the_excerpt() . "</p>";
           $html .= "<a href=\\"" . get_permalink() . "\\" class=\\"button\\">Read more</a>";

      endwhile; endif;

      return $html;
 }
 add_shortcode( \'recent\', \'my_recent_post\' );
短代码应该是[最近的]。

代码未经测试,但应该是这样的。

结束

相关推荐

如何将文本添加到_Content,但在img/Shortcode之后

我试图在每篇文章的开头添加一些文字(文字来自post_meta, 但是对于这个示例,我们假设它是静态文本)。以下是我尝试的内容:add_filter(\'the_content\', function($content) { return \'Text from meta - \' . $content; }); 然而,如果帖子以一个通常是浮动的图像开始(有时甚至用标题短代码包装),添加的文本将出现在图像之前。我想在文章的第一段前面加上文字。有没有办法在不解析完整