如何分离WordPress2.7的comments与pings

WordPress 2.7将在留言部分大做文章,如AJAX发布留言,留言论坛化等。为了实现这些功能,它将增加一个名为wp_list_comments的函数来代替原有的一些函数。这就将导致现在使用的用于分离留言和pings的技巧将可能失效(例如WeblogToolsCollection的方法)。

这里将针对新的函数对怎样在WordPress 2.7中分离comments与pings做一个解释,以便WordPress主题设计师或其他有兴趣的朋友在WordPress 2.7来临后能制作自己满意的主题。

新方法显示comments的代码将类似这样:

to “

comment_status) : ?>


Comments are closed.



可以看到现今使用的用foreach得到comment的一串代码,只用一条<?php wp_list_comments(); ?>就搞定了,更加的简单方便(貌似这样自定义性也差了)。

接下来修改上面代码使pings从comments中分离出来:

single.php(或index.php)文件中搜寻

将它修改为

这个修改使comments_template生成一个名为$comments_by_type的全局数组,用于下面的分离工作。(现在的comments_template函数没有这个参数项)

打开comments.php,找到

直接在它的下面添加

找到

修改为

最后在


的后面添加

OK,这时留言区就只显示comment而不显示ping了。

在上面的添加的代码后面增加以下代码就能显示ping了

Trackbacks/Pingbacks

最后完成的代码为:

to “

Trackbacks/Pingbacks

comment_status) : ?>


Comments are closed.


至此,comments与pings已经分离完毕。

上面的pings将显示ping的地址以及它的内容,如果你想只显示ping的地址而不显示它的内容,你需要进一步地修改上面完成的代码。

打开functions.php(如果没有就在你使用的主题文件夹里创建个吧),添加一个函数



  • 保存。

    重新打开comments.php,找到


      修改为

        嗯,这回真的OK了。

        详细原文:http://sivel.net/2008/10/wp-27-comment-separation/
        文中提到,WordPress 2.7将可能在2008年11月10号发布!还有一个月。

  • 3 Replies to “如何分离WordPress2.7的comments与pings”

    Comments are closed.