原本是沒打算寫更多關(guān)于WordPress的教程的... 一個是因?yàn)榫W(wǎng)上有許多相關(guān)資料可以查閱, 另外一個因?yàn)槲易约阂膊沤佑|WordPress不久, 而且對PHP也不是很熟悉, 好多問題自己還搞不清楚, 寫出東西也怕給人帶來錯誤答案或者誤導(dǎo)... 不過好近幫某低調(diào)姐姐調(diào)整WordPress, 覺得有一些東西照舊寫出來吧, 順便也給自己做個備忘和鞏固. 呵呵... 假如你的WordPress也有同樣或類似問題, 那么下文僅作參考... 僅作參考... 萬萬別相信我, 我一點(diǎn)也不權(quán)威... 呵呵...
以下是幾個初用WordPress可能會碰到的, 并且用插件無法解決的問題. 針對WordPress 2.3.*版本
文章評論排序問題:
正常情況下, WordPress默認(rèn)會以時間順序正序向下排序, 這樣就導(dǎo)致所有的新留言都會跑到頁面的好下面, 看起來極其不爽...
解決方法:
修改位于"WordPress安裝目錄/wp-includes/"目錄里面的"comment-template.php"文件, 查找并修改以下代碼:
$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = '$post->ID' AND (comment_approved = '1' OR ( user_id = '$user_ID' AND comment_approved = '0' ) ) ORDER BY comment_date");
這段代碼應(yīng)該在290行到300行之間, 并在 if else 的條件選擇語句中分別出現(xiàn)三次, 將這段代碼的好后(ORDER BY comment_date之后)加上DESC(前面與comment_date用空格分隔), 修改子女碼如下:
$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = '$post->ID' AND (comment_approved = '1' OR ( user_id = '$user_ID' AND comment_approved = '0' ) ) ORDER BY comment_date DESC");
記得將出現(xiàn)在 if else 條件語句中的三處都做以上修改. 然后保存就可以了.
主動轉(zhuǎn)換中文標(biāo)點(diǎn)問題:
WordPress會主動轉(zhuǎn)換部分中文標(biāo)點(diǎn), 大家看我的所有的文章應(yīng)該能夠清楚, 無論是聊天照舊寫東西, 我是從來不用中文標(biāo)點(diǎn)的, 這因?yàn)槲矣袃蓚"惡習(xí)"... 一個是我會下意識的在輸入完逗號(,)之后跟上一個空格, 以便更清晰的展示分段, 另外一個是我很習(xí)慣輸入省略號(...), 而且這個省略號不是標(biāo)準(zhǔn)的六個點(diǎn)的, 這個省略號會隨著我心情或者文章需要或長或短... 呵呵... 但即便如此, 假如WordPress的標(biāo)點(diǎn)假如轉(zhuǎn)換的好, 我也是不在乎被WordPress主動轉(zhuǎn)換標(biāo)點(diǎn)的, 但很可惜... 無論是題目照舊文章內(nèi)容, 所有的英文的三個句號(...)都會被轉(zhuǎn)換為中文的半個省略號(…), 而更要命的, 雙引號轉(zhuǎn)換的無法讓我接受, 因?yàn)橛⑽姆柕囊粚﹄p引號都是一樣的(""), 而中文的一對雙引號則應(yīng)該是成舛錯稱狀的(“”), 效果被WordPress主動以轉(zhuǎn)換, 所有被英文雙引號引起來的部分都會被(““)這兩個新鮮的東西引起來... 汗啊... 所以...
解決方法:
修改位于"WordPress安裝目錄/wp-includes/"目錄里面的"formatting.php"文件, 在第25行到第43行的這個for循環(huán)語句的個if條件里, 你應(yīng)該能看到以下4行代碼(或者你直接搜索這些代碼查找也可以):
// static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
將這個if條件里面的兩個 $curl = 開頭的行都屏蔽就可以了, 如下:
// static strings
// 屏蔽主動轉(zhuǎn)換標(biāo)點(diǎn) $curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
// 屏蔽主動轉(zhuǎn)換標(biāo)點(diǎn) $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
然后保存好后, 重新刷新你的頁面, 那些英文標(biāo)點(diǎn)就不會在被主動轉(zhuǎn)換為中文標(biāo)點(diǎn)了.