我很难理解为什么.=
运算符会将我的代码输出到我想要的位置之上。它应该在list元素之间。
这是PHP
<?php
function tcc_display_carousel() {
$reval = '<div id="tcc_carousel">';
$reval .= '<ul class="bjqs">';
$args = array('post__not_in' => array(133),
'post_type' => 'tcc_carousel',
'posts_per_page' => ''. $tcc_ppp .'',
'order' => 'ASC');
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) :
while ( $loop->have_posts() ) :
$loop->the_post();
$reval .= '<li>';
$reval .= the_post_thumbnail('tcc-thumbnail');
$reval .= '</li>';
//No post displays
endwhile;
else:
$reval .= '<h2>No posts to display</h2>';
endif;
$reval .= '</ul>';
$reval .= '</div>';
return $reval;
}
?>
&安培;这是它输出的html:
<img class="attachment-tcc-thumbnail wp-post-image" width="882" height="292" alt="01" src="http://dcs.dev/wp-content/uploads/2013/08/01.png">
<div id="tcc_carousel">
<ul class="bjqs">
<li></li>
</ul>
</div>
</div>
我已经进行了实验,我猜测它与它之间的查询有关,但我不知道如何添加到查询的$ reval。
我正在为wordpress构建一个插件,这就是我在一个函数中拥有它的原因。
答案 0 :(得分:2)
the_post_thumbnail不会返回,但会自行回复
如果需要操作它,可以使用输出缓冲来捕获它
$reval .= '<li>';
ob_start()
the_post_thumbnail('tcc-thumbnail');
$thumb = ob_get_contents();
ob_end_clean;
$reval .= $thumb;
$reval .= '</li>';
或者dev-null-dweller提到你可以使用
get_the_post_thumbnail(null, 'tcc-thumbnail');
$reval .= '<li>';
$reval .= get_the_post_thumbnail(null, 'tcc-thumbnail');
$reval .= '</li>';
答案 1 :(得分:0)
这可能与其中一个试图回显函数值的WordPress函数有关。
尝试做这样的事情
function tcc_display_carousel_obj() {
ob_start();
tcc_display_carousel();
$output=ob_get_contents();
ob_end_clean();
return $output;
}
然后使用tcc_display_carousel_obj
来调用您的轮播