網路上有提供像是修改CSS或是安裝plugin的方式,來達到該WordPress頁首圖片變換的功能.
在這邊也提供一個小技巧,用簡單的指令配合crond排程,可以簡單達到此功能.
備選圖檔:一批要用來做為輪動變換的檔案
正式圖檔:一個正式要呈現在首頁的圖檔
該做法的觀念,主要是選取一個」備選圖檔」,修改其檔名為」正式圖檔」,使其呈現在首頁上,全部只有二個動作,如下:
- 將」正式圖檔」變更檔名為」備選圖檔」檔名格式.
- 由」備選圖檔」選取一個,修改其名稱為」正式圖檔」
最後將如上的動作,依需要排程進crontab中即可.
Shell Scrip如下(說明如後):
#!/opt/bin/bash photoDir=/wp-content/uploads/2010/12 photoFileName=cropped-IMG_5063_59_60_61_62.jpg RandomFileHeader=homePageRandom mv $photoDir/$photoFileName $photoDir/$RandomFileHeader-`date '+%Y%m%d%H%M%S'`.jpg mv `ls $photoDir/$RandomFileHeader-* | head -n1` $photoDir/$photoFileName
photoDir:」正式圖檔」與」備選圖檔」存放的資料夾
photoFileName:」正式圖檔」檔名,可以以當下首頁的檔名為主.
RandomFileHeader:」備選圖檔」檔名的leading code
將所有」備選圖檔」名稱改為homePageRandom-yyyymmddHHMMSS.jpg ,例如homePageRandom-20101229101001.jpg1.
最後,假如您想要5分鐘變換一次,只要在crontab中加入這個script即可2.
*/5 * * * * root /wp-script/WPTwentyTenHomePagePhotoRandom.sh
排入crontab 5分鐘後,便可以重新整理首頁,看看是否生效.
- 未來要增加圖片,也是如法泡製即可 [↩]
- 如果你發現手動執行是正常的,但加到crond卻不會執行,可以嘗試重啟crond試試,若你是用Synology NAS可以參考Synology DSM的crond job不會執行的可能原因 [↩]