[教學]解決WordPress 媒體庫、新增媒體縮圖不見問題
WordPress 4.0 正式推出,不過在功能上似乎沒有太大的亮點,最大亮點應該是媒體庫的排版預設為Grid的編排方式,而不是傳統的清單排序(List)。不過有些人如果有使用內建上傳機制,可能會發現為什麼媒體庫中卻變成一堆文灰色的文件預設圖案,原先的縮圖為什麼都不見了?然後測試重新上傳一張圖卻是正常的一些奇怪事情?
遇到這樣的狀況,首先我們應當檢查圖片是否存在?再者,檢查不同的編排方式是否有顯示縮圖?香腸發現,使用Grid瀑布流方式呈現圖片,所有的縮圖均無法出現,但是改用傳統List清單方式,縮圖卻是都正常顯示,於是跑去資料庫中查看wp_posts的資料表,檢查post_type的欄位是「attachment」的,這就是附件類型的文章,仔細察看卻無異樣。
正當煩惱這問題該怎解決?突然想到那降版本就沒事了,但這不能根本性的解決縮圖不見的問題,於是忽然想起WordPress附件檔案所使用的DB資料表並不僅止於wp_posts,還有一個wp_postmeta,記錄著一些附加資訊。仔細查看與比較後才發現,原來是少了「_wp_attachment_metadata」這個meta_key。但是已經上傳的圖片,Meta Key該怎麼補回去?
如果你在媒體庫中,你可能會看到無法顯示圖片的附加資訊,好像必較少,甚至連圖片尺寸(分辨率)都沒有。
在媒體庫中,切換到List條列式才會有縮圖,新版預設Grid卻都沒有縮圖,雖然這樣可以解決縮圖問題,但是問題在後面。
瞧!新增媒體的時候總不可能使用條列式吧?全部都檔案名稱+預設圖案,誰看得懂?
解決縮圖顯示失敗,快速重建 wp_postmeta 資料
上網查了一下相關資料,似乎有不少人有類似的狀況,就是透過後台上傳圖片,卻發生附件檔案的Meta Data沒有自動新增,雖然網路上有好多種方式,比方說透過WPR Rebuild Meta Data來重新產生或是利用外掛「Fix my posts!」。原先香腸使用Fix my posts,安裝後發現好像卡住不會動,強迫要停止也沒用,後來終於停止後發現資料有進去wp_postmeta,但是基於外掛的穩定度不太理想,所以作罷。
最後想起有一個可以重新產生縮圖的外掛,想說剛好透過他來整理一下縮圖好了,於是就安裝了「Force Regenerate Thumbnails」此外掛,然後就順利解決,同時,這外掛還可以幫你刪除一些沒使用到的網站縮圖,頗方便的!但是得記得到後台設定中「媒體」調整好圖片尺寸,但是如果你文章中曾經使用了一些特殊裁切過尺寸的圖片,可能這外掛不適合,或許要考慮用Regenerate Thumbnails。
- 外掛名稱:Force Regenerate Thumbnails
- 外掛下載:按這裡
第1步 你可以將Force Regenerate Thumbnails下載下來後傳到FTP外掛目錄中或是透過後台搜尋外掛名稱皆可安裝,安裝後請啟用。如果是針對單張,請點選【媒體】→【媒體庫】,進入後切換成預設的List清單模式,找到想重建的圖片,滑鼠移過去點選「Force Regenerate Thumbnails」。
第2步 接著就會看到進度跑條,顯示100%表示執行完畢,下方有處理狀態:Success就是成功數量。
第3步 如果你跟香腸一樣,是全部縮圖都無法出現,要針對全部圖片處理,請點選【工具】→【Force Regenerate Thumbnails】,進入後點選﹝Force Regenerate Thumbnails﹞。
第4步 接著跑調會開始動,在「Process Information」會顯示目前總數與運作狀況、失敗狀況,下方也會出現每一張完成作業之圖片的狀態。
第5步 最後完成會顯示100%,上面會顯示圖片總共幾張、完成幾張、失敗幾張,看來香腸轉了1萬6千多張都全部正常,最後回到媒體庫和新增媒體的地方,所有縮圖都正常囉!
如果你圖片透過內建上傳功能上傳到圖床,你必須把圖片丟回本機端,然後網址也改回本機端才能執行外掛,否則一張圖片會跑很久甚至是無法執行此外掛也說不定。為保險起見,香腸是將網站備份到本地環境,透過TWAMP免安裝的阿帕契快速還原環境並執行,執行完成後將wp_postmeta上傳到營運中的網站使用,圖片再傳到圖床空間去,就正常囉! 如果您有較好的方法,也歡迎提供!