Wordpress后缩略图显示在页面的开头

时间:2014-01-06 17:33:56

标签: php wordpress-plugin wordpress-theming wordpress

我试图用我创建的插件显示一些帖子缩略图,但是当我将代码添加到页面时,它会在我拥有的其他内容之前显示页面开头的缩略图。我不知道为什么会这样。

插件:

<?php
add_image_size( 'cortar', 250, 250, true ); // Hard Crop Mode
function wpb_recent_post() { 
$the_query = new WP_Query( 'showposts=1&cat=25' ); 
while ($the_query -> have_posts()) : $the_query -> the_post();
$src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), cortar, false, '' );?>
<img src="<?php echo $src[0];?>" />
<?php endwhile;
} 
add_shortcode('posts_recientes', 'wpb_recent_post');
?>

页面内容:

<h3>Poesia</h3>

[three_columns]
[column1]

<h4>This is a heading</h4>
[posts_recientes]

[/column1]
[column2]

<h4>This is a heading</h4>
[posts_recientes]

[/column2]
[column3]

<h4>This is a heading</h4>
[posts_recientes]

[/column3]
[/three_columns]

它的显示方式:

http://www.ixmapp.com/circulodepoesia/prueba/

它应该在缩略图之前显示标题。

任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

Wordpress在加载页面之前执行一次该函数,因此输出发生在正好开始。

尝试回显完整的img-HTML-tag。

echo '<img src="'.$src[0].'" />';

答案 1 :(得分:0)

谢谢eevaa。你是对的Wordpress在加载页面之前执行该功能。这就是我解决问题的方法。

<?php
add_image_size( 'cortar', 250, 250, true ); // Hard Crop Mode

function wpb_recent_post() { 
$the_query = new WP_Query( 'showposts=1&cat=25' ); 
while ($the_query -> have_posts()) : $the_query -> the_post();
$src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), cortar, false, '' );
endwhile;
wp_reset_postdata();
return('<img src=".$src[0]." />');
} 
add_shortcode('posts_recientes', 'wpb_recent_post');
?>