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

麥子 優(yōu)化維護40字數(shù) 914閱讀3分2秒閱讀模式

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

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

/*
* WordPress獲取縮略圖thumbnail調(diào)取最佳策略實踐
文章:https://www.zmki.cn/5288.html
項目基于: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)沒有圖片,則用默認的圖片。
echo get_stylesheet_directory_uri() . '/img/thumb.png'; //具體路徑根據(jù)自己調(diào)整
}
}
}
// 縮略圖結(jié)束

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

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

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