WordPress如何在figure标签内输出文章特色图 显示错位问题排查
问题原因
核心是WordPress两类模板函数的逻辑差异:
the_post_thumbnail()属于直接输出型函数,执行时会直接打印特色图的<img>标签代码,没有返回值。你把它放在echo的字符串拼接逻辑中时,函数会先执行输出<img>,之后echo才会输出<figure>标签的前后部分,最终就出现了<img>在<figure>外部的错误结构。
修复方法
将直接输出的the_post_thumbnail()替换为返回字符串的get_the_post_thumbnail()即可,后者会把特色图HTML作为返回值,支持拼接后统一输出。
修复后的代码段:
if(has_post_thumbnail()) { echo '<figure class="post_thumbnail">'. get_the_post_thumbnail(get_the_ID(), 'full') . '</figure>'; };
小提示:
get_the_post_thumbnail()第一个参数为文章ID,循环内可以直接传get_the_ID(),也可以留空默认读取当前循环的文章ID。
内容的提问来源于stack exchange,提问作者Raging Vids
相关产品推荐
相关产品推荐

