一個(gè)不錯(cuò)的WordPress縮略圖判斷調(diào)用函數(shù)收藏

麥子 優(yōu)化維護(hù)122字?jǐn)?shù) 914閱讀3分2秒閱讀模式

今天麥子看到知更鳥主題有一個(gè)缺陷,他在文章中調(diào)用其他文章的時(shí)候,縮略圖只是獲取到文章第一個(gè)圖片。其實(shí)這樣是不友好的,正確的邏輯應(yīng)該是先判斷是否有用戶自定義的縮略圖,因?yàn)樽远x的縮略圖從尺寸和樣式是友好設(shè)置的。然后再去判斷文章中的插圖,或者設(shè)置默認(rèn)的。

這里找到一個(gè)不錯(cuò)的判斷縮略圖的調(diào)用方法,確實(shí)想的和我上面一樣周到。

/*
* WordPress獲取縮略圖thumbnail調(diào)取最佳策略實(shí)踐
文章:https://www.zmki.cn/5288.html
項(xiàng)目基于:https://www.cnblogs.com/bojuetech/p/4891470.html
*/
// 縮略圖開始
if ( has_post_thumbnail() )
the_post_thumbnail( 'thumbnail' );
function dm_the_thumbnail() {
global $post;
// 判斷該文章是否設(shè)置的縮略圖,如果有則直接顯示
if ( has_post_thumbnail() ) {
echo the_post_thumbnail();//這里直接輸出特色圖片
} else { //如果文章沒有設(shè)置縮略圖,則查找文章內(nèi)是否包含圖片
$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){ // 如果文章內(nèi)包含有圖片,就用第一張圖片做為縮略圖
echo $strResult[1][0] ;
}else { // 如果文章內(nèi)沒有圖片,則用默認(rèn)的圖片。
echo get_stylesheet_directory_uri() . '/img/thumb.png'; //具體路徑根據(jù)自己調(diào)整
}
}
}
// 縮略圖結(jié)束

這個(gè)就是先考慮是否有自定義縮略圖,然后再從文章中獲取,或者文章中也沒有就用一個(gè)默認(rèn)的替代。

這個(gè)可以修改一下知更鳥主題的縮略圖獲取方式然后使用這個(gè)。

投上你的一票
 
  • 本文由 麥子 發(fā)表于 2024年12月25日 11:04:16
  • 轉(zhuǎn)載請(qǐng)務(wù)必保留本文鏈接:http://bjj.org.cn/wpthumb-if.html