带图片的最新帖子快捷码

时间:2016-04-08 作者:loliki

我正在尝试做一个短代码,将采取我最新的5篇文章,并呈现在页面上。我得到了所有正确渲染的帖子,除了图像源,我收到的都是空白的。是不是我做错了什么?

$content = $content?$content:\'Latest Posts\';
$a = shortcode_atts(
    array(
        \'posts\'=>5
    ),
    $atts
);
$args = array(\'numberposts\'=>$a[\'posts\']);
$recent_posts = wp_get_recent_posts( $args, ARRAY_A );
echo \'<div class="recent-posts">\';
echo \'<h1>\'.$content.\'</h1>\';
foreach($recent_posts as $post){
    ?>
    <div class="updated"><p><?php echo $post[\'post_title\']; ?>. <a href="<?php echo get_permalink($post["ID"]); ?>"><img src="<?php the_post_thumbnail_url($post["ID"]); ?>"/>.</a></p></div>
    <?php
}
 echo \'</div>\';
}

1 个回复
最合适的回答,由SO网友:Phaze Phusion 整理而成

图像修复使用了错误的函数返回图像源url。改变

the_post_thumbnail_url( $post["ID"] )

get_the_post_thumbnail_url( $post["ID"] )
请参见https://developer.wordpress.org/reference/functions/get_the_post_thumbnail_url/

要修复回声,请使用如下变量:$return

$out = \'<div class="recent-posts">\';
$out .= \'<h1>\'.$content.\'</h1>\';
foreach($recent_posts as $post){
    $out .= \'<div class="updated"><p>\' . $post[\'post_title\'] . \'.<a href="\' . get_permalink($post[\'ID\']) . \'">\';
    $out .= \'<img src="\' . get_the_post_thumbnail_url( $post[\'ID\'] ) . "\'/>.</a></p></div>\';
}
$out .= \'</div>\';

return $out;

相关推荐

SHORTCODE_ATTS()中的$ATTS参数是什么?

这个WordPress developers reference page for shortcode_atts() 国家:$atts(array)(必选)用户在shortcode标记中定义的属性。但我不理解这个定义。例如,在WP Frontend Profile 插件:$atts = shortcode_atts( [ \'role\' => \'\', ], $atts ); 据我所知,shortcode\