讓 WordPress 支援 OpenID

wpopenid+ 原是由 wpopenid 分支出來的插件,同樣讓 WordPress 支援以 OpenID 留言,以及將帳戶連結至現有 OpenID。不過,wopenid+ 比 wopenid 優勝的地方,除了除掉幾隻蟲以外,還加入了不少新功能。例如讓留言的網址欄跟 OpenID 結合啦,顯示留言用家的全名(不是只是 OpenID URL),可以在 OpenID 伺服器支援 SREG 的情況下使用留言者提供的電郵等等。

原本真的有點技巧想寫一下的,不過在上一篇文章寫了以後才發現 wpopenid+ 的作者在 svn 發佈了新版,加入了不用為留言者開設帳戶的功能(以往來留言的插件便會自動產生一個新帳戶,他們也可以直接走進去瀏覽 dashboard,感覺怪怪的),所以再也不用繁複的修改步驟啦。

開 Spam Karma 2 以後,把自己留言的通知電郵擋住

因為 SK2 有自己的電郵通知函式,所以跟小弟自行撰寫的小程序有點衝突,開了 SK 2 後往往也會接收到自己留言通知的電郵,對我來說實在非常擾人。明明自己留言了嘛,用不著自己通知自己做過的事,不是嗎?

其實修改的辦法非常簡單。只要在 SK2 的 plugin 稍微修改一下,便可以一勞永逸,不用再接收那堆多餘電郵(話說為甚麼 WP 要這樣設計呢?不解)。請使用 WP 內置插件編輯器打開 SK2 插件,找一下 function wp_notify_postauthor。在大括弧裏面找這句:

if ('' == $user->user_email) return false;

在上面加上:

if ($user->ID == $comment->user_id) return false;
if ($user->user_email == $comment->comment_author_email) return false;

儲存就可以了。

As you may have guessed from the title, this is the instruction on how to filter out your own comment notifications if you are using Spam Karma 2. Since Spam Karma 2 has its own version of e-mail notify, it may cause my plugin SCNF not functioning. To get rid of those annoying messages, we have to modify the SK2 plugin itself.

Edit the SK2 plugin using the WordPress internal editor (you could call it by clicking the “Edit” link of SK2 on the plugin page). Then, find the line:

if ('' == $user->user_email) return false;

Add these before the line:

if ($user->ID == $comment->user_id) return false;
if ($user->user_email == $comment->comment_author_email) return false;

I suggest copy the text from the textfield to your favourite editor, for example gEdit or Notepad++, search and modify, and copy the whole back to the textfield overwriting the old content, since your local editor has a nicer interface and a search function. Beware there should be 2 same lines, you should add the lines to both places. When you are done, save it and say goodbye to them!

出問題了

剛才修改了一下主題,還好登出了再看,才知道出了問題。給我一點時間修好吧。

Update: 原來是 OpenID OpenID WordPress Plugin出現了問題,其他使用者也有同樣的情況。現在暫時停止了自動加進了OpenID 登入功能,待會才人手修改吧。此外,除了版面有些微更新以外(包括 ajax comment… 一個我不知道有甚麼實際用途的東西),終於立心安裝了 Ultimate Tag Warrior,大家大概察覺到那片藍色的標籤吧?

Update 2: 問題不斷啊。想把每月彙整(archives) 獨立放到一頁去,我卻忘了名字跟我本身的永久連結(permalink)相沖,結果有幾個小時大家都到不了文章的獨立頁面。今天通勝裏寫的是不宜動網頁嗎?

Update 3: 除了看起來好像比較炫以外,覺得 AJAX Commenting 沒甚麼實際作用,所以便把它移掉了。順手加入 OpenID 輸入欄,如果大家有 OpenID 可以試試看。

Trackping Separator 修正

說來慚愧,我居然不知道自己在用的和給人家下載的插件版本居然完全不一樣,最大問題是下載版本根本不能運作。居然沒有人告訴我呢,還好前幾天有人電郵跟我說出原委,不然只好一直錯下去了。嗚嗚,我真的很不小心喔!麻煩了大家,我鄭重跟大家說一聲對不起。

PS: 好像有不少來自日本的使用者呢(WordPress 看來在日本也很受歡迎嘛),不過不知道怎樣跟他們解釋… 唉。

WordPress Feed 修改教學

林子揚要求,說一下怎樣可以為分類的 feed 顯示不同的標題吧。

由於 WordPress 的 feed 不是整合到主題/模版(template)裏,所以不可以直接從管理介面要為 feed 加上新功能,而要逐個逐個相關檔案找編輯器來修改。幸好要修改的檔案格式和模版檔案相似,而且也可以共用同一堆 template tag。

不說廢話了,直接來吧。請先開啟 WordPress 程式的主目錄裏的 wp-rss2.php。

在裏頭找 “<title>” 這個 RSS tag,然後將 tag 內容的中間改為:

<?php wp_title(' '); ?><?php if (wp_title(' ', false)) { echo ' | '; } ?><?php bloginfo('name'); ?>

那麼 RSS2 feed 的標題便會變成「分類名稱 | 網誌名稱」。同樣,只要更改 <description> tag 的內容,即可變更 feed 的 description。不過我們只是更改了 RSS2 feed 的內容,如果使用者訂閱的是 ATOM 或 RSS 0.92 版本的 feed ,他們仍是會看見變更前的標題和描述。

From WP 2 到 2.1

大家 update 之前,請注意一點:
由於資料庫結構變更,好幾些插件以及主題會因而出現錯誤,請注意。

其他插件運作上大致沒問題,不過我還是要花點時間把資料過渡/整理。林子揚要的 feed 改造我遲一下另文說明,請稍等一下,對不起~

Minor update on Trackping Separator

As you may have noticed, WordPress Blog has just posted out the guidelines on migrating WP plugins to 2.1. So I’ve did it in the morning, change a few SQL lines, plus adding a %date variable to the listtrackping() function (in order to completely eliminate the need of an evil trackback/pingback loop), and here comes Trackping Separator 1.1.1.

中文:WordPress Blog 終於寫了 WordPress 插件過渡至 2.1 的注意事項。除了改了幾句 SQL 以外,也為 listtrackping() 加了新的 %date 變數,希望大家會徹底放棄使用 trackback/pingback 迴圈吧。詳情請至 TSP Wiki.