wordpress中the_post_thumbnail和get_the_post_thumbnail之间的区别

时间:2013-12-16 21:19:22

标签: php wordpress

我一直致力于开发一个wordpress主题,我注意到很多Wordpress函数都有两个版本,正常版本如the_post_thumbnail,而不是同一个版本,前面有get_。

<?php the_post_thumbnail(); ?>
<?php get_the_post_thumbnail(); ?>

这不仅仅是针对the_post_thumbnail,因为我在很多不同的wordpress函数上看到了这一点,并且想知道两者之间有什么区别,因为它们看起来完全相同,并且想要确保我正在使用他们正确。谢谢。

3 个答案:

答案 0 :(得分:5)

the_post_thumbnail()仅适用于邮政编码并返回当前帖子的精选图片。 get_the_post_thumbnail()无处不在,并在第一个属性处获得$ post_id参数。

喜欢这个〜:

the_post_thumbnail($params) = get_the_post_thumbnail($current_post_id,$params);

这是WP引擎中的实现:

function the_post_thumbnail ($size='post-thumbnail', $attr=''){
    echo get_the_post_thumbnail( null, $size, $attr );
}

function get_post_thumbnail_id( $post_id = null ) {
    $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
    return get_post_meta( $post_id, '_thumbnail_id', true );
}

如果$post_id is NULL - 使用当前帖子的get_the_ID()

答案 1 :(得分:5)

WordPress函数以get_通常return数据开头,而非前缀对应echo(即打印)数据。

答案 2 :(得分:0)

the_post_thumbnail( $size, $attr )

  1. 在发布循环中使用。
  2. 它直接打印输出。您不能将其分配给变量。
  3. 它具有上面指定的2个参数。

get_the_post_thumbnail( $post, $size, $attr )

  1. 它也可以在循环外部使用。您可以在第一个参数中传递发布ID或发布对象。
  2. 它返回数据。可以将输出分配给变量。
  3. 它具有上面指定的3个参数。

对于其他功能,大多数属性适用于get_

的每种情况

此帖子How to get featured image in WordPress

中提供了更详细的答案