給WordPress新站改模板調用分類縮略圖時遇到了一個問題, 有個模塊要調用縮略圖顯示,如下圖:
但是在如何獲取分類文章循環輸出頭疼了一天之後,循環出來之後又為縮略圖調取方式頭疼。最開始的策略(別人寫好策略)的直接獲取文章的特色圖片,而我因為模板的原因習慣基本上不特殊設置特殊圖片,因為Grace可以自動獲取第一張圖片做特色圖
。所以這裡的圖基本都是掛掉的。好了不廢話了,進入今天的正題。
WordPress獲取縮略圖thumbnail調取最佳策略實踐
首先優先級第一肯定是文章特色圖片,如果沒有設置特色圖片,那麼就調取文章裡第一張圖片來當縮略圖,如果文章內也沒有圖的話,就直接調用主題設置好的默認縮略圖,這樣在各種場景都能有圖可顯示。
畫了一張思維導圖,簡單明了。
參考代碼:
代碼參考下邊的文章:
wordpress 縮略圖功能函數 the_post_thumbnailWordPress獲取文章縮略圖函數:get_the_post_thumbnail下邊是我的。需要的拿走。細節可以自己調整。
使用方法:
把下面代碼放到你主題的functions.php裡
然後在需要調用的地方調用 dm_the_thumbnail() 即可
調用實例:
<img src="<?php dm_the_thumbnail() ?>" />
functions.php代碼
/* * WordPress獲取縮略圖thumbnail調取最佳策略實踐 文章:https://www.zmki.cn/5288.html 項目基於:https://www.cnblogs.com/bojuetech/p/4891470.html 轉載請不要刪除此段,不完整轉載誤人誤己!我沒吃你家一碗大米飯。 鑽芒博客:www.zmki.cn (這段可以刪233)*/ // 縮略圖開始 if ( has_post_thumbnail() ) the_post_thumbnail( 'thumbnail' ); function dm_the_thumbnail() { global $post; // 判斷該文章是否設置的縮略圖,如果有則直接顯示 if ( has_post_thumbnail() ) { echo the_post_thumbnail();//這裡直接輸出特色圖片 } else { //如果文章沒有設置縮略圖,則查找文章內是否包含圖片 $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){ // 如果文章內包含有圖片,就用第一張圖片做為縮略圖 echo $strResult[1][0] ; }else { // 如果文章內沒有圖片,則用默認的圖片。 echo get_stylesheet_directory_uri() . '/img/thumb.png'; //具體路徑根據自己調整 } } } // 縮略圖結束
除非註明,否則均為鑽芒博客www.zmki,cn原創文章,轉載必須以連結形式標明本文連結 如需查看原文,請前往博客使用搜索功能搜索文章標題