WordPress 加速!

WordPress Optimization 有很多方法,根據 Codex 裡面的 WordPress Optimization/Cheat Sheet 有幾個方向:

Server Optimization

  • DNS onto a separate server
  • Web Server optimization –
  • PHP acceleration / optimization –
  • MySQL tweaking (query cache, etc) –

WordPress Performance

  • Remove unused plugins –
  • Optimize plugins
  • Optimize themes, hardcode static vars, etc –

Offloading

  • Offload static files to separate server
  • Optimized web servers like publicfile, lighttpd, etc
  • Offload feed traffic

Caching

  • WP-Cache / Lightpress –
  • Browser caching
  • Web server caching

Adding Database Servers

Continue reading “WordPress 加速!”

WordPress 2.7 beta 1 釋出

今天收 WordPress Development Blog 的 RSS 的時候,終於看到 2.7 beta 在 download 區釋出了(當然 nighty build 早就有了)。

這一路從九月中開始的 WordPress 2.7 Navigation Options Survey,後來九月底的 WordPress 2.7 UI Survey #2: Search box, Favorites menu, Future Publish ,直到十月一日公佈的 WordPress 2.7 Wireframes ,還有 The New 2.7 Dashboard

Continue reading “WordPress 2.7 beta 1 釋出”

WordPress 2.3.2 升級

WordPress 2.3.2 is an urgent security release that fixes a bug that can be used to expose your draft posts. 2.3.2 also suppresses some error messages that can give away information about your database table structure and limits and stops some information leaks in the XML-RPC and APP implementations. Get 2.3.2 now to protect your blog from these disclosures.

As a little bonus, 2.3.2 allows you to define a custom DB error page. Place your custom template at wp-content/db-error.php. If WP has a problem connecting to your database, this page will displayed rather than the default error message.

For more detail on what’s new in 2.3.2, view the list of fixed bugs and see the changes between 2.3.1 and 2.3.2.

Special thanks to Alex Concha for his help on this release.

From http://wordpress.org/development/2007/12/wordpress-232/

今天收 RSS 發現在 11 個小時前 WP 發佈了 2.3.2 的 Release 。這次的變更是修改了一個安全性的 bug 。在 WP 的 trac 上面,有人發表了「query.php mistakenly uses is_admin() to check for admin privileges.」,他是在兩個禮拜前發現這個問題的,這個問題在兩天前被解決,然後,過沒多久, 2.3.2 就發佈了。

當然 2.3.2 還有修改了一些地方,像是改善了 XML-RPC 和 APP 的資訊暴露(Information Leaks)的問題。

還有,2.3.2 供了一個貼心小功能,我們可以自己修改 wp-content/db-error.php 裡面的內容,來取代原本預設的 Error Message ,如此一來日後在 DB 連線錯誤或是 Query 有問題的時候,我們可以用很幽默的方式告訴大家,這一切爆炸了 :mrgreen:

P.S. 我真的很愛 2.3 的一些工能,像是 Plugins 升級的提醒,版本升級的提醒…我真的愛死了 😎

WordPress Recent Commets 的問題

之前寫了一個 Plugin 用來讀取 Recents Comment ,叫做 roga’s recent comments – WordPress Plugin 。當時取出的 SQL Statements 只有考慮 comment_approved (這是有沒有被 moderate 與否) 以及 $wpdb->posts.post_status=’publish’ (應該是在 2.3 之前,資料庫結構沒改,只要設了 Password ,Post 的狀態就會變成 Private, 到了 2.3 之後,就算 Post 有設定 Password, Post_Status 依然會是 Published.)

所以,我只好想個辦法,來補救這個問題。

Continue reading “WordPress Recent Commets 的問題”

roga’s recent comments – WordPress Plugin

因為 WordPress 內建 wp-include/widgets.php 的 recent-comments 不會顯示該筆 comment 的內容,為了不破壞 WordPress 的完整性,所以我決定自己寫一個 Widget ,然後用 Plugin 的方式載入,這樣可以不用動到 Theme ,又能自訂參數(標題、回應筆數、以及回應摘要字數)。

這個程式主要是參考 WordPress 的 widgets.php 和兩個 Recent Comments Plugins (包含了 bdp-comments 以及 Recent Comments and Trackbacks) 還有官方的 Codex

功能說明:

  1. 可以直接從後台修改 Widget 設定,分別是標題、「顯示回應數目」以及「回應長度」
  2. 顯示 Comment (回應), Trackback(接收到的引用通知), Pingback(發送的引用通知)
  3. 支援直接在 sidebar 插入:< ?php roga_recent_comments(5,50) ?> ,表示顯示 5 筆回應,每筆回應有 50 個字。

安裝步驟:

  1. 使用 ftp 將檔案上傳到 wp-content/plugins/ 目錄內
  2. 登入 WordPress 後台
  3. 啟用 roga-recent-comments Plugin
  4. 在佈景主題的 Widget 可以進行修改

Continue reading “roga’s recent comments – WordPress Plugin”

慎選 Domain Name

之前我開了一個新的 blog ,取名為 Write It Down , 原本只想紀錄一下瑣碎的一些感想,但是由於後來手癢,所以我寫了一隻小程式把我以前在 BBS 上面的日記,全部都轉換成 UTF-8 編碼,然後利用 XMLRPC 呼叫把所有文章都倒進去 Write It Down 的資料庫內 。 😯

這麼一來,我的隨手雜記就變成了歷年日記,所以我就只好把 blog 的 title 改為 roga’s diary ,然後 Write It Down 變成了 Description 。

Continue reading “慎選 Domain Name”

Comments 的排序

剛剛有人問我怎麼把 comments 的排序顛倒過來( WP 的預設是越晚發表的排在越下面,越早發表的排在越上面) ,但是她希望把早發表的排在下面,把晚發表的排在上面,就像我們一般常見的 WEB 留言板一樣。所以我就翻了一下 WP 的程式看看到底要改哪邊才會有效果。我原本以為 select comment 的敘述應該是放在 theme 裡面,但是後來我發現我想的太單純了,因為如果放在 theme 裡面好像有點不太合乎邏輯。結果, WP 果然不會做不合邏輯的煞情,所以其實那段 SQL 語法是放在 wp-includes 裡面的 comment-functions.php 。

如果要 comments 排序顛倒,那就開啟 comment-function 然後搜尋以下程式碼 (在開頭的地方)

但這樣改有個問題,就是以後每次 UPDATE 都得手動修改這個檔案 SQL 語法,呵呵。

所以其實我不太愛改除了 wp-content/ 目錄之外的檔案,因為每次升級我又得再改一次,有點麻煩是也 😛

CSS Theme

我終於完全擺脫了 table 排版了!

之前這個版面,整體的排版其實是靠 table 強制排起來的,但是我始終覺得,沒有用 CSS 來排版就遜掉!所以我花了大約三個小時的時間,把我的 Theme 全部用 CSS 改寫。不過我 CSS 的功力還不夠強,所以寫的很醜,很多地方都用 width: ***px; 來強制限制住了,所以視窗如果縮小的話,其實是會看到捲軸的..

不過..經過了半個夜晚的奮戰,

我只能說:完成的那瞬間,我真的很爽!

翠谷風情網路日誌

這是一個和 BBS 帳號結合的日誌。資料庫採用 MySQL ,程式語言是 PHP ,網頁伺服器是 Apache 。

軟體系統的核心是 Lyceum ,認證方面則採用了 whatup 所寫的 pop3 auth 的 plugin, whatup 是個對 LyceumWordPress 很有研究的人,他自己本身的 blog 就是採用 Lyceum 這套系統。

另外再新增佈景主題方面,特別謝謝 cating 幫我一起修改 WordPress 的佈景主題到系統上,目前總共有 72 個佈景, Cating 大概幫忙修改了一半。也謝謝他女朋友 Mandy 幫忙選擇值得一改的佈景主題。

翠谷風情網路日誌的網址:http://bbs.shu.edu.tw

妳必須要有翠谷風情 BBS 的帳號才能申請使用。

像是我的:http://roga.bbs.shu.edu.tw

一個 HTTP Header 的問題..

是這樣的,我剛剛修改我之前在某篇遊記的 comment ,結果發現 wp-admin/post.php 會跑出一頁新的東西來讓妳確認是否要修改 comment 的內容,我當下很直覺的就按了確定,但卻發現編輯好的 comment 存到資料庫後卻變成亂碼,所以我重複了一次我的動作,並且看了一下程式產生的原始碼,想知道是哪邊出了問題,找了半天,發現是 wp-includes/functions.php 這邊送出處理的。而裡面有個 function 叫做 nocache_headers(),負責處理 no cache 的 header 的部份。

我把這個小程式把節錄如下:

UPDATE: 2006/09/04
另外我補充一下,這個問題發生在 WordPress 2.0.3,升級到 2.0.4 之後就沒有遇到這個問題了。