Feb
2008
WordPress逆序评论, 自动转换标点的问题...
本来是没打算写更多关于WordPress的教程的... 一个是因为网上有很多相关资料可以查阅, 另外一个因为我本身也才接触WordPress不久, 而且对PHP也不是很熟悉, 好多问题自己还搞不清楚, 写出东西也怕给人带来错误答案或者误导... 不过最近帮某低调姐姐调整WordPress, 觉得有一些东西还是写出来吧, 顺便也给自己做个备忘和巩固. 呵呵...
如果你的WordPress也有同样或类似问题, 那么下文仅作参考... 仅作参考... 千万别相信我, 我一点也不权威... 呵呵...
以下是几个初用WordPress可能会遇到的, 并且用插件无法解决的问题. 针对WordPress 2.3.*版本
文章评论排序问题:
正常情况下, WordPress默认会以时间顺序正序向下排序, 这样就导致所有的新留言都会跑到页面的最下面, 看起来极其不爽...
解决方法:
修改位于"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");
这段代码应该在290行到300行之间, 并在 if else 的条件选择语句中分别出现三次, 将这段代码的最后(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");
记得将出现在 if else 条件语句中的三处都做以上修改. 然后保存就可以了.
自动转换中文标点问题:
WordPress会自动转换部分中文标点, 大家看我的所有的文章应该能够清楚, 无论是聊天还是写东西, 我是从来不用中文标点的, 这因为我有两个"恶习"... 一个是我会下意识的在输入完逗号(,)之后跟上一个空格, 以便更清晰的展示分段, 另外一个是我很习惯输入省略号(...), 而且这个省略号不是标准的六个点的, 这个省略号会随着我心情或者文章需要或长或短... 呵呵... 但即便如此, 如果WordPress的标点如果转换的好, 我也是不在乎被WordPress自动转换标点的, 但很可惜... 无论是标题还是文章内容, 所有的英文的三个句号(...)都会被转换为中文的半个省略号(…), 而更要命的, 双引号转换的无法让我接受, 因为英文符号的一对双引号都是一样的(""), 而中文的一对双引号则应该是成不对称状的(“”), 结果被WordPress自动以转换, 所有被英文双引号引起来的部分都会被(““)这两个奇怪的东西引起来... 汗啊... 所以...
解决方法:
修改位于"WordPress安装目录/wp-includes/"目录里面的"formatting.php"文件, 在第25行到第43行的这个for循环语句的第一个if条件里, 你应该能看到以下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
// 屏蔽自动转换标点 $curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
// 屏蔽自动转换标点 $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
然后保存好后, 重新刷新你的页面, 那些英文标点就不会在被自动转换为中文标点了.
------ by: 猫饭店英明伟大的店长大人
标签: php, WordPress, 学习, 评论相关文章




















第4楼
【日期】:2008.08.18 星期一
【时间】:12:00 pm
猫
多谢你的分享,逆序评论解决了
可是向你这样的逆序楼层怎么?
[回复]
〖日期〗:2008.08.18 星期一
〖时间〗:3:19 pm
以前正序代码是
现在倒序 我在外层加了行
然后再把以前的那段代码改为
就可以解决了
可是我还是想知道你是怎么解决的?
[回复]
〖日期〗:2008.08.18 星期一
〖时间〗:3:21 pm
晕~ 代码没显示出来
[回复]
〖日期〗:2008.08.18 星期一
〖时间〗:2:40 pm
逆序评论数需要修改comment.php的源代码... 让评论的数值反向排列.
[回复]
〖日期〗:2008.08.18 星期一
〖时间〗:12:04 pm
少打字了
可是像你这样的逆序楼层是怎么做的?
[回复]
第3楼
【日期】:2008.04.17 星期四
【时间】:8:48 pm
[...] 妖精の翼 撰文介绍了实现 WordPress 逆序评论的办法,和需要注意的问题,点击这里查看原文:WordPress逆序评论,自动转换标点的问题。 [...]
第2楼
【日期】:2008.02.28 星期四
【时间】:1:02 pm
我怀疑转换标点的问题已经在最新的测试版中解决了……不过我不确定。
[回复]
第1楼
【日期】:2008.02.28 星期四
【时间】:11:37 am
天热忽逢及时雨,哈哈哈~~~~~
虽然没有看懂,不过当作资料放在这里,以后认真钻研再认真学习!呼呼~
[回复]