0

嘿伙计们,我正在制作一个小部件来显示帖子标题、该帖子的摘录及其日期。我的代码在这里:

public function widget( $args, $instance ) {


        extract( $args );

        $headline = $instance['headline'];
        $category = $instance['category'];
        $numberposts = $instance['numberposts'];
        $readmore = $instance['readmore'];


        echo $before_widget;

        echo $before_title;

        echo "<p class=\"headline\">$headline</p>";

        echo $after_title;

        $args = array( 'numberposts' => $numberposts, 'category_name' => $category );
        $recent_posts = wp_get_recent_posts( $args );
        foreach( $recent_posts as $recent ){
        echo '<a href="' . get_permalink($recent["ID"]) . '" title=" '.esc_attr($recent["post_title"]).'" >' .   $recent["post_title"].'</a> ';
        echo the_time('F j, Y');
        echo the_excerpt();

        }

如您所见,我正在尝试调用时间和帖子的摘录。它正在工作,但它只显示日期和第一个名为“欢迎”的帖子的摘录。我希望它显示每个帖子的日期和摘录。我将在侧栏中使用小部件发布指向该站点的链接。抱歉,如果我不够清楚或需要更多信息,我对此很陌生。

http://www.modmacro.us/wpsandbox/

4

1 回答 1

1

第一件事:the_excerpt(),已经是一个回显语句。不是退货声明。the_date() 也一样。用“get_”作为前缀,它们会返回你需要的信息,或者你可以去掉前面的 echo 命令。

第二件事:为了使这些功能正常工作,它们需要在 Wordpress 循环中使用。

由于我们已经处于一个循环中,我们只需要确保它适当地更改 Wordpress 全局变量以反映您需要的信息..

foreach( $recent_posts as $recent ){
    setup_postdata(get_post($recent['ID']));
    echo '<a href="' . get_permalink() . '" title=" '.esc_attr(get_the_title()).'" >' .   get_the_title().'</a> ';
    echo get_the_time('F j, Y', $recent['ID']);
    the_excerpt();
}
wp_reset_postdata();
于 2013-01-04T01:55:30.753 回答