1. 程式人生 > >wordpress 對於特色圖片的處理

wordpress 對於特色圖片的處理

對於自定義的主題,可能會出現不顯示特色圖片的問題,可以使用以下方式顯示縮圖.將以下程式碼放入啟用主題的 functions.php 中即可

//開啟縮圖
add_theme_support('post-thumbnails');
function get_post_img_url($thumbnail = true)
{
    global $post;
    if (has_post_thumbnail()) {
        $domsxe = simplexml_load_string(get_the_post_thumbnail());
        $thumbnailsrc = $domsxe->attributes()->src;
        return $thumbnailsrc;
    } elseif ($thumbnail) {
        $content = $post->post_content;
        preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
        $n = count($strResult [1]);
        if ($n > 0) {
            return $strResult [1] [0];
        } else {
            return trailingslashit(get_template_directory_uri()) . 'images/i1.png';
        }
    } else {
        return trailingslashit(get_template_directory_uri()) . 'images/i2.png';
    }
}

 根據文章 id 獲取特色圖片

/**
 * 獲取特色圖片地址
 * @param $post_id
 * @param string $size
 */
function get_post_thumbnail_url($post_id, $size = 1)
{
    $size_str = null;
    switch ($size) {
        case '1': //小圖
            $size_str = 'thumbnail';
            break;
        case '2': //中圖
            $size_str = 'medium';
            break;
        case '3': //大圖
            $size_str = 'large';
            break;
        case '4': //原圖
            $size_str = 'full';
            break;
    }

    $full_image_url = wp_get_attachment_image_src(get_post_thumbnail_id($post_id), $size_str);
    return $full_image_url[0];
}