Dec 31

上週五到桃園參加好朋友的婚禮。
因為上頭有交待,所以我得帶著筆電上去參加婚禮。 :oops:

星期六跑到新竹找 susu
(在此特別感謝 ziwaysusu 的熱情招待啊~ 不然我得露宿街頭了~ XD

我在新竹就看到 大神 貼出來的 WordPress 2.3.2 (安全性更新) ,決定回高雄再處理這種事。

我在剛才幫這裡進行更新,也順便幫 susu 的 Blog 進行更新。
更新完後,隨著 這個 comment 的指示,裝上 Smiley JS Button

comment 區域的表情列語法可以按照網頁上的指示予以加入。
不過,在 WordPress 2.3.2 中,admin form 的部份必須更改 wp-includes/general-template.php ,在 <script type="text/javascript">edToolbar()</script> 下面加進這段 code:

        <br />
        <?php if (function_exists("SJB_outputSmilies")) {
                echo "<small><strong>Smilies:</strong>";
                SJB_outputSmilies("content");
                echo "</small><br />";
        } ?>

看起來是這樣:

        <div id="quicktags">
        <?php wp_print_scripts("quicktags"); ?>
        <script type="text/javascript">edToolbar()</script>
        <br />
        <?php if (function_exists("SJB_outputSmilies")) {
                echo "<small><strong>Smilies:</strong>";
                SJB_outputSmilies("content");
                echo "</small><br />";
        } ?>
        </div>

對了,裝了 Smiley JS Button 之後就可以把我在 拔掉 More Smilies … 裡面提到,我自己弄的那個爛爛的小 plugin 拔掉了~ XD

Technorati Tags:

Tags:
(Visited 5036 times)
Dec 07

WordPress 2.3.1 配 More Smilies 會打架。

這邊升級一陣子了,可是我今天早上才發現這件事。 :???:
發現的起由是觀察 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 可以支援以上三個功能的話,請來信或留言告知,謝謝。

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

Technorati Tags: ,

Tags: ,
(Visited 2350 times)
Nov 05

剛剛把這邊升級成 WordPress 2.3.1 。

因為 WordPress 2.3 開始支援 tag ,所以之前使用的 Ultimate Tag Warrior 被我拔掉了。
(其實是... 要先拔掉才能升級... 不然會有 function redeclare 的 error 。 XD

在拔掉 Ultimate Tag Warrior 之前,我在網路上嘗試尋找把原本的 tag 轉移到 WordPress 2.3 內建的 tag 功能的作法。

我找到了 這篇,不過升級後我就發現管理平台的 Manage -> Import 中就有搬移的功能! :cool:

接著要修改 theme ,增加 tag 與 tag cloud 顯示的語法。
很快地,我發現在我用的 theme 裡面增加的 the_tags() 只能在多篇文章顯示時運作正常,瀏覽單篇文章時都看不到。
如果有人也有遇到相同問題的話,請修改 wp-includes/category-template.php ,把 function get_the_tags( $id = 0 ) 中的這段:

        $id = (int) $id;

        if ( ! $id && ! in_the_loop() )
                return false; // in-the-loop function

        if ( !$id )
                $id = (int) $post->ID;

改成

        $id = (int) $id;
/*
        if ( ! $id && ! in_the_loop() )
                return false; // in-the-loop function
*/
        if ( !$id )
                $id = (int) $post->ID;

應該就能解決了。

升級完 WordPress 2.3.1 的話可以檢查目錄下的檔案,以下這些是不需要的,可以砍掉。

  • wp-admin/admin-db.php
  • wp-admin/cat.js
  • wp-admin/categories.js
  • wp-admin/custom-fields.js
  • wp-admin/dbx-admin-key.js
  • wp-admin/edit-comments.js
  • wp-admin/install-rtl.css
  • wp-admin/install.css
  • wp-admin/upgrade-schema.php
  • wp-admin/upload-functions.php
  • wp-admin/upload-rtl.css
  • wp-admin/upload.css
  • wp-admin/upload.js
  • wp-admin/users.js
  • wp-admin/widgets-rtl.css
  • wp-admin/widgets.css
  • wp-admin/xfn.js
  • wp-includes/js/tinymce/license.html

另外,新版的 WordPress 後台會顯示 plugin 有沒有新的版本啦! :eek:

Technorati Tags: ,

Tags: ,
(Visited 1290 times)
Jan 25

我應該算是比較懶惰的人吧,因為我用覆蓋法。 :oops:

因為有 ssh login 的權限,所以我這邊步驟是這樣( 舊版的放置目錄是 ~/blog ):

  1. 官方網站的下載頁面 抓新版檔案,放在家目錄( ~/latest.tar.gz )。
  2. 新版(2.1)解壓縮( cd ~ && tar xvfz latest.tar.gz )。
  3. 看看有啥檔案是新版拿掉的( diff -rc ~/blog ~/wordpress | grep "Only in blog" )。
  4. 除了自己放的檔案、theme、plugin、設定檔以外的檔案都砍了。
  5. 砍掉 ~/wordpress ( rm -rf ~/wordpress )。
  6. 用新版蓋掉舊版 ( cd ~ && mv blog wordpress && tar xvfz latest.tar.gz && mv wordpress blog )。
  7. 用瀏覽器開 wp-admin/upgrade.php 。

改過 wp-includes/wp-db.php 就收工了。 XD

原本我這邊跑的是 2.0.6 ,在 2.1 裡面應該殺掉的檔案有這些:

  • wp-admin/edit-form-ajax-cat.php
  • wp-admin/execute-pings.php
  • wp-admin/inline-uploading.php
  • wp-admin/link-categories.php
  • wp-admin/list-manipulation.js
  • wp-admin/list-manipulation.php
  • wp-includes/comment-functions.php
  • wp-includes/feed-functions.php
  • wp-includes/functions-compat.php
  • wp-includes/functions-formatting.php
  • wp-includes/functions-post.php
  • wp-includes/js/dbx-key.js
  • wp-includes/js/tinymce/plugins/autosave/langs/cs.js
  • wp-includes/js/tinymce/plugins/autosave/langs/sv.js
  • wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin_src.js
  • wp-includes/js/tinymce/plugins/inlinepopups/readme.txt
  • wp-includes/js/tinymce/themes/advanced/editor_template_src.js
  • wp-includes/links.php
  • wp-includes/pluggable-functions.php
  • wp-includes/template-functions-author.php
  • wp-includes/template-functions-category.php
  • wp-includes/template-functions-general.php
  • wp-includes/template-functions-links.php
  • wp-includes/template-functions-post.php
  • wp-includes/wp-l10n.php

給大家參考看看。:cool:

另外,之前 的 Twilight AutoSave 可以關掉並刪除了。 ;-)

Technorati Tags:

Tags:
(Visited 2652 times)
May 27

剛剛在網路上亂晃晃到的, 蠻有趣的東西.

sidebar 跟 comment 區塊可以隨心所欲的讓使用者移動還蠻有趣的.
可惜... 這個 plugin 似乎只能搭配 K2 使用. :(

Technorati Tags: , ,

Tags: , ,
(Visited 3920 times)
Feb 11

剛剛把這邊升級了, 也順手幫 Solaris 叔叔的 Blog 做升級.

步驟不麻煩, 直接抓新的檔案蓋掉原本的就好了. XD
R 董 別說我沒通知啊...

Technorati Tags:

Tags:
(Visited 3506 times)
Jan 01

這兩天在 shakalaca 長輩跟 DK 大長輩的個人板上都看到 K2 這個名詞, 所以很好奇的去看了一下是什麼東西.

原來 K2 是套 WordPress 用的 theme .
如果要我說出改用 K2 的動機的話, 應該是因為這套 theme 用了 AJAX ( Asynchronous JavaScript and XML ) 來做使用者留言功能.
可是我不想在剛換 theme 之後馬上再換一次, 所以找了一下相關資源. :oops:

我發現到, 除了 K2 以外, Squible 這套 theme 也有用 AJAX comment .
而且我在 這篇 看到有人把 AJAX comment 從 K2 抽出來, 用 step-by-step 的方式教大家換.
另外附上一些參考網頁 :

因為步驟不算簡單, 而且照原文的說法看來, 可能會有些風險, 所以我就不用中文解釋了, 有興趣的自己看看吧. :wink:

我這邊在更改時沒有遇到麻煩, 不過我有先把整個目錄先壓縮備份. XD
如果想知道效果如何的話, 可以在這篇隨便留個 comment 就知道了. :cool:

題外話, K2 的網站/網路似乎很詭異, 我有時連的上, 有時連不上. :roll:

Technorati Tags: , ,

Tags: , ,
(Visited 8473 times)
Dec 30

升級 2.0 以後, 我發現 Twilight AutoSave 沒辦法用了.
( ychsiao 前輩也有在 這篇 說他的也不能用. XD )

目前在 plugin 的網頁是貼出了這段:

Please note: I offer no support for this plugin with WP 2.0 as of yet. The software is still beta, and works completely differently. I will see how I can upgrade this to work with 2.0 when I can (if it is possible).

於是我自己 trace 了一下 code , 發現問題出在這幾行 :

add_action("save_post", "twAutoSaveDelete");
add_action("publish_post", "twAutoSaveDelete");

save_post 跟 publish_post 僅存在於 1.5 版的 wp-admin/post.php 中, 2.0 版被拿掉了.
所以必須把上面那兩行改成 :

add_action("simple_edit_form", "twAutoSaveDelete");
add_action("edit_form_advanced", "twAutoSaveDelete");
add_action("edit_page_form", "twAutoSaveDelete");

另外, 我還看到一個小瑕疵, 在 tw-autosave.php 裡面有這段:

                        if (cookietemp.length > 100){
                                var endstring = "[...]";
                        }

可是 endstring 這個變數也沒有事先被定義, 而且這段 code 並沒有做例外處理, 所以當文章內容小於 100 字時, 我們會在文章回復框看到 undefined 的字串.
解法很簡單, 在 if (cookietemp.length > 100){ 上面加入這行就搞定了 :

                        var endstring = "";

目前改完以後看來都正常.
晚點把這些回報給作者, 跟他討論看看好了. :cool:

Technorati Tags: ,

Tags: ,
(Visited 7714 times)
Dec 30

升級 2.0 以後, 我發現 Recent Comments 的選項頁面出不來. :???:

於是, 拜 估狗大神 所賜, 我找到了 這頁 .

我按照文章裡面的說明修改 wp-content/plugins/get-recent-comments.php , 在這行:

// WordPress 1.5 includes this file again on the options page. Avoid duplicate declaration:

下面有段:

if ( function_exists("is_plugin_page") && is_plugin_page() ) {
        kjgrc_options_page();
        return;
}

然後把整段整個換成 :

add_action("options_page_get-recent-comments", "kjgrc_options_page" );

就好了. :cool:

Technorati Tags: ,

Tags: ,
(Visited 7682 times)
Dec 28

前幾天就看到 WordPress 2.0 釋出的消息.

不過怕我這裡用的一堆 plugins 跟 theme 不能用, 所以還沒打算升級.

剛剛聽 priv 前輩說升級沒啥大問題, 所以跟進, 把這邊升級成 2.0 了.

另外, 在升級後我也用了 WordPress Yahoo/MSN Messenger Style Smileysakismet 這兩個 plugin .

目前看來還不錯, 不過我覺得有些小缺憾 :

  • 新的文章編輯介面沒有 code 跟 blockquote 可以用了.
  • 新的文章編輯介面會把空白行吃掉, 不會填入空行用的 br .
  • 文章編輯頁面右邊的類別框變小了, 選擇上不是那麼方便.

其他部分在大致上還不錯. :D

Technorati Tags:

Tags:
(Visited 13915 times)