wordpress 對於特色圖片的處理
阿新 • • 發佈:2018-12-24
對於自定義的主題,可能會出現不顯示特色圖片的問題,可以使用以下方式顯示縮圖.將以下程式碼放入啟用主題的 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]; }