我在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标记为空。
有人可以告诉我出了什么问题吗?
答案 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; }