在Wordpress上显示x最近的帖子,包括标题,日期和摘录

时间:2012-07-15 00:38:37

标签: php wordpress

我正在寻找一种方法来显示我的Wordpress网站主页上的最后5个帖子,所以我假设我需要利用短代码来做到这一点,但我找不到任何预先存在的代码来添加到functions.php将显示标题,日期和帖子摘录。

有人可能会帮我这个吗?

2 个答案:

答案 0 :(得分:2)

有多种方法可以做到这一点,但基本思路类似于您在主题的 INDEX.PHP 页面中看到的代码。您进行查询,循环显示帖子,然后在结束时重置查询,这样您所做的就不会干扰您的主页。

function Last5posts()
{
    $args = array( "showposts" => 5 );                  
    query_posts($args);

    $content = "";

    if( have_posts() ) : 

        while( have_posts() ) :

            the_post();
            $link = get_permalink();
            $title = get_the_title();
            $date = get_the_date();                              

            $content .= "<div style='padding: 5px; border: 1px solid red'>";
            $content .= "<h3><a href='$link' target='_top'>$title / $date</a></h3>\n";
            $content .= "<p class='excerpt'>" . get_the_excerpt() . "</p>";
            $content .= "</div>";

        endwhile;

        wp_reset_query();

    endif;

    // Leave one line commented out depending on usage
    echo $content;   // For use as widget
    //return $content; // for use as shortcode
}

要将此注册为窗口小部件,请在末尾启用“echo”,然后将此行添加到文件的底部:

register_sidebar_widget(__('Last 5 Posts'), 'Last5posts');

您可能希望添加一些额外的代码,将输出放入窗口小部件包装器DIV,就像其他侧边栏小部件一样。 (或者,如果您在传统的侧边栏​​之外的某处使用它,请不要这样做。)

您还可以使用以下行将其注册为短代码处理程序。在结尾处注释掉“回声”并取消注释“返回”。

add_shortcode('Last5Posts', 'Last5posts' );         

您需要确保不在博文中使用短代码,否则最终可能会以递归方式调用此代码。可能是一件坏事。

您可能还希望在函数名称中添加特定于主题的前缀,以避免命名空间冲突。

答案 1 :(得分:0)

<?php 

    $args = array('numberposts' => 5);

    $recent_posts = wp_get_recent_posts($args);

    foreach( $recent_posts as $recent ){
      echo $recent["post_title"].' '.$recent['post_date'].' '.$recent['post_excerpt'].'<br />';
    }
?>

Wordpress Codex并不是那么糟糕。