在站內選用了佈景主題 Elicit 修改與練習印証自已所會的網站與網頁設計觀念與技巧,其中對於文章列表的特色圖片 (featured image) 一直覺得有需要修改與處理。

主要問題是如果在後台有指定圖片的話是會出現於前台的,但如果沒有指定的話前台列表處的特色圖片 (featured image) 確是空著的,這對於版面佈局上會有著視覺上不一的感覺,因此在思考下想要找出替代的方案來處理,此外有時真得想不出特色圖片要如何設計,也因此覺得自動補上備用圖 (no image) 的處理方式才是上上之選。


Set-1-準備一張自動補上備用圖 (no image)

這是在如果沒有發佈特色圖片之後的自動補上備用圖 (no image),這需要安裝在正在使用的佈景主圖下一的一個路徑,當然如果對於 WordPress 的函式夠了解的話,自已也可以安排在一個共用路徑上,但對於我來說一個主題一個備用圖以後管理上會比較明確,再者不同的佈景主題可能因為配色與構成方面不同而需要分開安排。

安排的路徑:使用的佈景主題 > images > noimage.jpg (格式與檔名不一定要要一樣)


Set-2-針對佈景主題內處理所需的頁面與列表頁

找到 class="postthumbnail" 下的元素標簽

換成下面的 html 與 php 函式,用判斷式來選用引入的圖片,有的話使用指定的特色圖片,沒有的話使用指定路徑的備用圖片。

補充:
<?php echo get_permalink() ?> 指的是該文章的位置。
<?php the_post_thumbnail('postthumbnail'); ?> 文章指定的特色圖片
template_directory template_url 當前主題目錄的URL。
(在WP 2.6之前,template_directory為本地路徑;其它用法請見 get_theme_root()get_template()。)
the_title 文章頁面顯示文章標題直接顯示的函式。


修改備註

以佈景主題 Elicit 來說,主要有 index.php, search.php, archive.php, 當然內頁 (single.php) 的部份也是可以這樣處理的,不過要注意的事 <?php if(has_post_thumbnail()) : ?> 是使用 <?php endif; ?> 來關閉 wordpress 函式,如果沒有將這二個部份處理好的話,點到頁面就是白頁收場了…


資料來源

How to Set a Default Featured Image in WordPress
WordPress get_bloginfo函數的參數及用法
WordPress > 函數 > get_the_title 和 the_title