拔掉 More Smilies …

WordPress 2.3.1 配 More Smilies 會打架。

這邊升級一陣子了,可是我今天早上才發現這件事。 :-O
發現的起由是觀察 Apache 的 error log 時,看到裡面出現一堆這種訊息:

PHP Warning: preg_replace() [<a href="function.preg-replace">function.preg-replace</a>]: No ending delimiter “:" found in [WP_ROOT_DIR]/wp-includes/formatting.php on line 668

雖只是 warning ,不是 error ,可是 Get Recent Comments 的確是受到影響了。

連到 More Smiles 的官方頁面 一看才發現 More Smilies 已經停止開發與維護了,只能自力救濟… orz

有用過的人都知道,More Smiles 這個 plugin 主要有以下三個功能:

  1. 允許自行定義表情圖示。
  2. 在 comment 的文字輸入區上方提供快速加入表情圖示的列表。
  3. 在非所見即所得的 Blog post 編輯/撰寫介面提供快速加入表情圖示的列表。

我稍微翻了一下 More Smilies 的原始檔,覺得頗複雜。
而且我在網路上嘗試找尋支援以上三個功能的 plugin,結果是一無所獲… orz
所以我用以下的方式解決。

下面這兩個步驟可以達到 More Smiles 的第一個主要功能(允許自行定義表情圖示):

  1. 把自己要用的表情圖試圖檔放在 [WP_ROOT_DIR]/wp-includes/images/smilies/joehorn 這個目錄下面。
  2. 在 [WP_ROOT_DIR]/wp-config.php 加入我自己的表情圖示陣列定義,類似這樣:
    $wpsmiliestrans = array(
    ":D" => "joehorn/my_laugh.png",
    ":-D" => "joehorn/my_laugh.png",
    .....
    );

為了達到 More Smiles 的第二個主要功能(在 comment 的文字輸入區上方提供快速加入表情圖示的列表),我自己弄了一個小 plugin,原始碼在 這裡
下載後放到 plugin 目錄中,啟用!
接下來的步驟就跟 More Smiles 一樣,在 WordPress 佈景主題下的 comments.php 內,textarea 上面加上這行:
<p><?php do_action("comment_toolbar", "comment"); ?></p>

我嘗試要讓這個小 plugin 一併支援 More Smiles 的第三個功能(在非所見即所得的 Blog post 編輯/撰寫介面提供快速加入表情圖示的列表)。
不過,目前還沒啥頭緒,所以我先把這個部份暫時擱著了… :-(

如果有哪位大德知道何方有 WordPress plugin 可以支援以上三個功能的話,請來信或留言告知,謝謝。

如果有能人異士要拿去改寫,讓它支援第三個功能的話,請便!
不過,請留個回應,因為我也想用… XD