wordpress自定义最新的帖子功能代码问题

时间:2018-02-18 17:44:14

标签: wordpress function

我在function.php中使用此代码获取最新帖子:

function last_article($atts){
$a = shortcode_atts( array(
    'posts' => 1,
), $atts );
$q = new WP_Query(array('orderby' => 'date', 'order' => 'DESC' , 
'posts_per_page' => 1 , 'category__in' => $atts ));
if ($q->have_posts()) { 
  while ($q->have_posts()) { 
     $q->the_post();
     $return_string .= '<div class="content"><div class="thumb">'.featured_image_thumb().'</div>';
     $return_string .= '<h2><a href="'.get_permalink().'">'.get_the_title().'</a></h2>';
     the_excerpt();
     $return_string .= '<div class="detail"><div class="data"><span><i class="icon-user"></i>'.the_author().'</span><span><i class="icon-calendar"></i>'.the_time('j F  Y').'</span></div>';
     $return_string .= '<div class="more"><a href="'.get_permalink().'">more... <i class="fa fa-arrow-left"></i></a> </div></div></div>';
  }
} 
wp_reset_postdata();  return $return_string;  }

然后在主题中使用echo last_article。 但它首先显示特色图像,然后显示<div class="content">为空。并且还显示其他一些HTML标记为空。

有人可以告诉我出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

function last_article($atts){
$a = shortcode_atts( array(
    'posts' => 1,
), $atts );
$q = new WP_Query(array('orderby' => 'date', 'order' => 'DESC' , 
'posts_per_page' => 1 , 'category__in' => $atts ));
if ($q->have_posts()) { 
  while ($q->have_posts()) { 
     $q->the_post();
     $return_string .= '<div class="content"><div class="thumb">'.featured_image_thumb().'</div>';
     $return_string .= '<h2><a href="'.get_permalink().'">'.get_the_title().'</a></h2>'
     . get_the_excerpt()
     . '<div class="detail"><div class="data"><span><i class="icon-user"></i>'.the_author().'</span><span><i class="icon-calendar"></i>'.the_time('j F  Y').'</span></div>';
     $return_string .= '<div class="more"><a href="'.get_permalink().'">more... <i class="fa fa-arrow-left"></i></a> </div></div></div>';
  }
} 
wp_reset_postdata();  return $return_string;  }