Returns a boolean if a post has a Featured Image (formerly known as Post Thumbnail) attached (true) or not (false).

Note: To enable featured images / post thumbnails, the current theme must include add_theme_support( 'post-thumbnails' ); in its functions.php file. See also Post Thumbnails.

has_post_thumbnail() 描述


 <?php has_post_thumbnail$post_id ); ?> 

has_post_thumbnail() 用法



(integer) (可选) Post ID.

默认值: 'ID', the post ID.

has_post_thumbnail() 参数


This example first checks if there is a Post Thumbnail (aka Featured Image) set for the current queried item. If there is a Post Thumbnail set, it returns the Post Thumbnail. If not, it echoes out a default image which should be located in the current theme's image folder (assuming the folder is in the theme's root directory).

/* ----------------------------------
 * wordpress之魂 © http://wphun.com
 * ---------------------------------- */

// Must be inside a loop.

if ( has_post_thumbnail() ) {
else {
	echo '<img src="' . get_bloginfo( 'stylesheet_directory' ) . '/images/thumbnail-default.jpg" />';

You can use set_post_thumbnail_size() to set a default size for your thumbnail. Alternatively, you can add new image sizes to the defaults by use add_image_size().

has_post_thumbnail() 示例


has_post_thumbnail() 函数的代码位于 wp-includes/post-thumbnail-template.php.

/* ----------------------------------
 * wordpress之魂 © http://wphun.com
 * ---------------------------------- */
 * Check if post has an image attached.
 * @since 2.9.0
 * @param int $post_id Optional. Post ID.
 * @return bool Whether post has an image attached.
function has_post_thumbnail( $post_id = null ) {
	return (bool) get_post_thumbnail_id( $post_id );

has_post_thumbnail() 源文件