我很难找到关于the_post_thumbnail()
如果没有特征图像,则返回。
如果我不需要在特色图片周围添加任何额外的html,我应该仍然使用has_post_thumbnail()
?
例如,这是否是多余的:
if ( has_post_thumbnail() ) {
the_post_thumbnail();
}
我很难找到关于the_post_thumbnail()
如果没有特征图像,则返回。
如果我不需要在特色图片周围添加任何额外的html,我应该仍然使用has_post_thumbnail()
?
例如,这是否是多余的:
if ( has_post_thumbnail() ) {
the_post_thumbnail();
}
这种详细信息不太可能出现在正式文档中,因此最好直接查看源代码。
此处删除了不相关的部分:
function the_post_thumbnail( $size = \'post-thumbnail\', $attr = \'\' ) {
echo get_the_post_thumbnail( null, $size, $attr );
}
/**
* Retrieve the post thumbnail.
* @return string The post thumbnail image tag.
*/
function get_the_post_thumbnail( $post = null, $size = \'post-thumbnail\', $attr = \'\' ) {
if ( ! $post ) {
return \'\';
}
$post_thumbnail_id = get_post_thumbnail_id( $post );
if ( $post_thumbnail_id ) {
//...
} else {
$html = \'\';
}
/**
* Filters the post thumbnail HTML.
* @param string $html The post thumbnail HTML.
*/
return apply_filters( \'post_thumbnail_html\', $html, $post->ID, $post_thumbnail_id, $size, $attr );
}
你可以看到the_post_thumbnail()
只要回应get_the_post_thumbnail()
. 的docblockget_the_post_thumbnail()
声明它返回与代码匹配的字符串。因此,如果没有设置特征图像,它应该只返回一个空字符串,然后对其进行回显,这对渲染的标记没有影响。
如果另一个插件过滤post_thumbnail_html
, 当然,即使没有设置缩略图,它也可以返回其他内容。
因此,在您的特定情况下,结束通话has_post_thumbnail()
这只是为了预防意外的副作用,但如果不考虑它,你似乎不会遇到任何问题。
在中,您希望在图像周围添加额外的标记,但这是必要的(props@swisspidy)。e、 g.:
<?php if ( has_post_thumbnail() ) : ?>
<header class="entry-header">
<?php the_post_thumbnail(); ?>
<p>Lorum ipsum blah blah blah</p>
</header>
<?php endif; ?>
我目前获取滑块图像的方法是使用以下工作正常的代码:$args = array( \'post_type\' => \'attachment\', \'sort_order\' => \'ASC\', \'sort_column\' => \'menu_order\', ); $attachments = get_posts($args); if ($attachments) { $