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