WordPress外掛筆記——同面板不同頁面顯示不同模組「Widget Logic」、自動加上浮水印「Marekkis Watermark-Plugin」、以id呼叫圖片的畫廊「Portfolio Slideshow」、高亮搜尋字串「wp-markkeyword」

最近因為工作緣故又測了一堆外掛,幫最後留下來的獲勝者們作個筆記。

Widget Logic

想針對不同的頁面,在面板上顯示不同模組,可以使用「Widget Logic」這隻外掛。

例如這網誌的首頁有詳細分類的列表,在內頁為節省空間,可以改顯示成下拉式選單;首頁有相關網站、推特等模組,內頁卻不需要顯示,都可以用這隻外掛完成。

Marekkis Watermark-Plugin

Marekkis Watermark-Plugin」是浮水印外掛,可以手動批次或是上傳時自動加上浮水印

如果要使用自動加上浮水印的功能,必須要手動修改wordpress核心(wp-admin/includes/media.php)在特定位置加上一段語法,所以裝了就不能隨便升級。

Portfolio Slideshow

Portfolio Slideshow」是進階的畫廊外掛,可以在大圖下方顯示縮圖和圖說,並直接以ID呼叫特定圖片展示(*圖片需和該篇文章建立關聯)。

雖然這類型工具有很多更炫的,我一向都是以能最少操作步驟來滿足最高需求為原則。

wp-markkeyword

wp-markkeyword」是一隻可以高亮搜尋字串的外掛,並可直接減選搜尋的關鍵字,加速找到目標的速度。雖然瀏覽器都有內建這樣的功能,不過還是可以幫讀者省點事情。

我很意外這方面沒有特別好用的外掛,這隻主要的缺點是多重字串依舊顯示為相同顏色,但還算堪用。

WordPress搬站——變更網域,以及批次更換內文網址

這一次搬動*yonglan:F,除了更動伺服器外,連網域都改了,這邊做個搬站筆記。

*如果搬站的情況是「同一網域、不同伺服器」,請參考這篇

官方有很詳細的說明,我就照我的步驟列一下:

1.新伺服器的準備工作

  • 設定新網域的 DNS,還有設定新伺服器中掛載的位置。因為已經有新的網域和伺服器了,所以先做好準備工作,就不用等待DNS轉換那72小時。
  • 開好新的SQL資料庫。

2.資料移轉

  • 將舊伺服器中的資料用FTP存到硬碟裡面,然後整個上傳到新伺服器的對應位置。記得修改wp-config.php內對應的資料庫名稱。
  • 將舊的資料庫,用WP的外掛「WordPress Database Backup」備份出來,然後利用CPANEL裡面的PHPMyAdmin,點擊該新建好的資料後,選擇「載入」,將SQL檔案上傳到新建好的資料庫。
  • 至此網站資料都轉移好了,剩下更正網址的部份。

3.修正Wordpress網站的網址

  • 首先要修正的是Wordpress本身的網址,不然就算登入後,也會跑回舊站。
  • 進去PHPMyAdmin,點選新的資料庫,編輯以下兩項為新網址:
  • 「wp_options→option_name→siteurl」
  • 「wp_options→home」(在第二頁)
  • 至此就算登入也會正確地跑到新網站。

4.修正資料庫內的網址

  • 目前文章內的網址都是舊的,所以圖片和鏈結還會連到舊站,需要修正資料庫以更新內容。
  • 進去PHPMyAdmin,點擊該新建好的資料庫,使用「搜尋」分頁去查詢舊站的網址。

  • 會得到這樣的結果,所有符合的部分都需要修正:

  • 我們用上述最多項目符合的「wp_posts」資料表做範例,點下右邊的「瀏覽」,點進去發現「guid」項目都是舊網址。

  • 先回到資料庫頂,接著點選上面的「SQL」分頁,開始輸入指令列批次修正,要替換的部分請參考下面的紅字、綠字、棕字和水藍字。
UPDATE wp_posts SET guid = REPLACE (
guid,
'http://舊網址',
'http://新網址');
  • 比方我是從http://inxtyle.com/yonglan移動到http://kyte.co就這樣輸入後執行:
UPDATE wp_posts SET guid = REPLACE (
guid,
'http://inxtyle.com/yonglan',
'http://kyte.co');
  • 執行後沒有出現錯誤訊息就OK了,然後把剩下全部待修改的欄位,依照一樣的方法替換紅字和綠字,全部修正完,就大功告成了。

服務更新:裝了放大縮圖的功能「Fixible Lightbox」

WordPress一般點到圖片不是連到圖片本身,就是連到圖片的專屬頁面,因為會移動焦點,用起來都有點不順手。因此特別抓了這個「Fixible Lightbox」外掛,點擊之後會直接放大圖片。

點選這張圖試試看

這功能效果本身就叫「Lightbox」,搜尋這個字串會出現一堆類似的外掛。我會選這隻是因為在上傳圖時他會把語法會自己帶入到圖片上,不用修改程式碼或作任何其他的設定即可套用,真是懶人的好東西(當然可以設定個別圖片是否要套用,不選就維持上一張的設定)。

除了放大之外,滑鼠移到圖片左右兩側的上面,會出現直接切換上下張圖的幻燈片功能,想一次看完圖片也可以使用=w=/。

WordPress搬站——同一網域、不同伺服器

因為之前的伺服器流量有限定,上個月底果不其然就爆掉了,雖然該虛擬主機公司的服務不錯,一通電話就能解決大多數的問題,但最近讀者數量慢慢地增加的情況下,只好把網誌搬到另外一個伺服器去了。這次沒有工程師來協助,什麼都必須親自下海,途中還是麻煩了不少朋友,也學到不少東西,真是謝謝大家的協助=w=;。

希望新的伺服器速度表現大家還能滿意啦\=w=/。

*如果搬站的情況是「不同網域、不同伺服器」,請參考這篇

WordPress的搬站步驟筆記:

1.從舊伺服器轉出資料

  • 用FTP軟體把全部的資料從舊伺服器下載下來。
  • 用WordPress Database Backup把資料庫內的資料備份出來,備份後的是gzip格式。
    (這個步驟我用phpmyadmin轉出的資料庫檔案會有問題,WordPress Database Backup倒是一次OK)

2.資料移到新伺服器

  • 去新伺服器後台,開好對應的檔案夾和目錄,以及SQL資料庫。
  • 上傳剛剛下載下來的全部檔案(資料庫名稱等可能會不同,要修改wp_config.php)。
  • 去phpmyadmin,選擇新建好的資料庫,接著把剛剛備份好的SQL檔案上傳到裡面(我的新伺服器不支援.gzip,因此要用解壓縮軟體解開,變成.sql格式後上傳)。
  • 這時候網站應該已經看起來是完全正常了,只有網址不同而已。

3.調整DNS

  • 去調整你的NS為新伺服器的資料。
  • 等待DNS異動生效,24小時內應該就會正常。

最近碰到的問題 Fatal error: Allowed memory size of XXX bytes exhausted 的兩種解決方法

有人來問到底前陣子發生什麼事情,那就順便寫一下。前陣子的伺服器延遲狀況,其實是因為同時開兩個WordPress,然後為了要多使用外掛,因此我將記憶體的分配調得過高,以至於達到虛擬主機資源的上限,反而讓多人連線的時候無法分配到資源,因此常常處於「連線中」但是網頁出不來的狀況。

  • 這個問題為何會出來?

WordPress升級到2.8之後,預設的32MB記憶體往往不夠使用,這個時候會看到如下的錯誤,會在什麼地方看到並不一定,基本上累加超過你的記憶體上限就會出現了。

Fatal error: Allowed memory size of 33554432 bytes exhausted

因此要手動開啟更多記憶體分配給WP,至於要如何開啟,依照你的伺服器不同,會有幾個方法。

  • 分配更多記憶體的方法

一般網路上建議的主要方法:

  1. WP2.8是將wp-setting.php中的define(‘WP_MEMORY_LIMIT’, ’32M’);後面的32M給改成更大的數值即可。
  2. WP2.9左右在wp-config.php中也加入了這條參數,當然也是一併修改。不過我的伺服器不適用這個方法。
  • 另外一個分配更多記憶體的方法

我的伺服器必需要在各個目錄中,都要新增一個php.ini的檔案,內容如下,就這樣一行就好。

memory_limit = 64M

這樣的話就可以分配更多資源給WP,不過虛擬主機一個用戶能分到的資源,往往是主機的幾十分之一,要更多的資源,必需要用VPS這樣的東西。因此像我一次兩個網誌開成兩倍的情況下,等於耗用原本四倍的資源,上限本身就不高的情況下,自然會排擠到其他用戶的使用,導致連線狀況變得緩慢。

因此我就把*yonglan:F那邊的記憶體修改檔全部停止,*yonglan這邊的略為提高,改成「memory_limit = 40M」,這樣讓主機有比較多的資源能分配給各用戶,所以速度感覺起來就回復到原來的狀況。

我開的外掛應該不算多,*yonglan這邊三個(備份+阻擋廣告+Google分析),*yonglan:F那邊四個(備份+阻擋廣告+Google分析+首頁的特效),可見和WP本身變得巨大也有關係。