WordPress自动获取内容中的图片作为缩略图调出

风中赏雪 Wordpress Wordpress 2025-09-27 103 0

在函数文件functions.php中添加下面代码


// 添加特色缩略图支持
if (function_exists('add_theme_support')) {
    add_theme_support('post-thumbnails');
}

// 输出缩略图地址
function post_thumbnail_src() {
    global $post;
    
    if ($values = get_post_custom_values("thumb")) {
        // 输出自定义域图片地址
        $post_thumbnail_src = $values[0];
    } elseif (has_post_thumbnail()) {
        // 输出特色缩略图地址
        $thumbnail_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'full');
        $post_thumbnail_src = $thumbnail_src[0];
    } else {
        // 尝试从文章内容中提取第一张图片
        $output = preg_match_all('/<img.+src=&#91;\'"&#93;(&#91;^\'"&#93;+)&#91;\'"&#93;.*>/i', $post->post_content, $matches);
        $post_thumbnail_src = $matches[1][0] ?? ''; // PHP 7.0+ 空合并运算符
        
        if (empty($post_thumbnail_src)) {
            // 生成1-10的随机数
            $random = mt_rand(1, 10);
            // 拼接随机图片路径
            $post_thumbnail_src = get_bloginfo('template_url') . "/images/pic/{$random}.jpg";
        }
    }
    
    echo $post_thumbnail_src; // 输出最终确定的图片地址
}

//直接这样调用就ok了,就会输出图片地址


<?php echo post_thumbnail_src();?>