Wordpress获取文章第一张图片为缩略图

将下面的代码添加到主题的 functions.php:

/**
 *获取文章第一张图片为缩略图
 */
if ( function_exists( 'add_theme_support' ) ) {

add_theme_support( 'post-thumbnails' ); // 这应该是你的主题。但我们把这因为这样我们就可以在开关到支持他们的主题特色图片。

function easy_add_thumbnail($post) {

    $already_has_thumb = has_post_thumbnail();
    $post_type = get_post_type( $post->ID );    
    $exclude_types = array('');
    $exclude_types = apply_filters( 'eat_exclude_types', $exclude_types );

    // 判断文章对应的图片附件是否存在
    if ( $already_has_thumb ) {
        return;
    }

   // 判断是否已设置特色图片,若是不存在则获取第一张图片                       
    if ( ! in_array( $post_type, $exclude_types ) )  {

        // 获取第一张图像
        $attached_image = get_children( "order=ASC&post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );

       if ( $attached_image ) {

           $attachment_values = array_values( $attached_image );
           // 添加附件ID                                            
           add_post_meta( $post->ID, '_thumbnail_id', $attachment_values[0]->ID, true );                                 

       }


    }

}

// 设置功能图片后显示(旧文章)
add_action('the_post', 'easy_add_thumbnail');

// 在发布时添加钩子设置缩略图
add_action('new_to_publish', 'easy_add_thumbnail');
add_action('draft_to_publish', 'easy_add_thumbnail');
add_action('pending_to_publish', 'easy_add_thumbnail');
add_action('future_to_publish', 'easy_add_thumbnail');

}

  目录