WordPress 嵌套回复 (优缺陷对照)

1. 它能够进步用户体验, 调动访客回复的踊跃性, 从而添加评论的数量, 能让博客变得像社区一样活泼.
2. 博客的回复邮件告诉性能越来越被注重, 由于它能够为你挽留一些游客. 另外评论者宣布评论后也不必常常回来查看能否被回答, 能够在肯定水平上进步互动性. 嵌套回复能够有针对性的对评论进行回答, 评论者只需收到邮件便可知其所答.
另一局部人不应用嵌套回复, 我就是其中之一. 为什么呢? 且听我缓缓道来. 任何事物都有其利害, 嵌套回复也存在一些缺陷:
1. 嵌套回复是一种依赖顺序的显示构造, 也就是说, 只需你应用了一次, 当前必需应用, 否则评论的程序就乱了. 假定如今有 A, B, C 三人, 他们都进行了一次评论, 操作如下:
A 增加了一条评论.
B 也增加了一条评论.
C 回复了 A 的评论.
假如主题支持嵌套回复, 会失去以下的显示构造: 
  
但假如主题不支持嵌套, 则会显示如下:
 
也就是说, 页面构造将变得无比的凌乱, 你不得不让以后主题支持嵌套回复, 或许应用插件对其进行支持. 这就是对顺序的依赖, 除非通晓其制造原理, 否则它会限度你对主题和插件的抉择.

2. 嵌套回复有针对性的回复性能 (针对某条评论进行回复) 是它的劣势, 同时也是他的优势. 假如有 100 集体在你的一篇文章中宣布了评论, 并且你习气对大局部评论都进行回复, 那是不是你也需求回复差不多 100 次? 假如这样的话, @ 回复比嵌套回复更适宜你.

3. 嵌套回复依赖阅读器对 JavaScript 的支持.

我不应用嵌套回复也是由于前两个缘由, 我不敢确定本人当前会不断应用嵌套回复, 并且在我的回复者中, 常常呈现几集体发问同一个成绩. 应用 @reply 是一个折中的抉择, 我能够在一个回复中答复网友的评论, 并且我无需对相反的发问进行屡次答复; 另外, 经过一些插件, 我同样能够完成回复邮件告诉的性能, 仅是邮件内容稍为复杂罢了.

怎么将嵌套回复性能集成到主题中?

在主题中完成嵌套回复的办法有二, 包括 WordPress 提供的默许办法和自定义的回调办法. 上面我会解说一下如何完成起嵌套构造, CSS 局部请自行钻研.

默许办法:
WordPress 提供的根本的嵌套格调, default 主题用的就是这种模式.
优点: 不便应用, 缩小代码量.
缺陷: 代码构造不好, 不可能适宜一切的主题.
完成步骤如下:

1. 在 header.php 的 <?php wp_head(); ?> 后方增加以下代码.


<SPAN style="FONT-WEIGHT: bold; COLOR: #000000"><?php</SPAN> <SPAN style="COLOR: #b1b100">if</SPAN><SPAN style="COLOR: #009900">(</SPAN>is_singular<SPAN style="COLOR: #009900">(</SPAN><SPAN style="COLOR: #009900">)</SPAN><SPAN style="COLOR: #009900">)</SPAN> wp_enqueue_script<SPAN style="COLOR: #009900">(</SPAN> <SPAN style="COLOR: #0000ff">'comment-reply'</SPAN> <SPAN style="COLOR: #009900">)</SPAN><SPAN style="COLOR: #339933">;</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #000000">?></SPAN>

其作用是加载嵌套回复所需的 JavaScript 代码. (也就是说, 假如阅读器不支持 JavaScript, 嵌套回复就没法完成)
2. 在 comments.php 文件的顶部增加以下代码.

<SPAN style="FONT-WEIGHT: bold; COLOR: #000000"><?php</SPAN>
<SPAN style="COLOR: #b1b100">if</SPAN> <SPAN style="COLOR: #009900">(</SPAN><SPAN style="COLOR: #339933">!</SPAN><SPAN style="COLOR: #990000">empty</SPAN><SPAN style="COLOR: #009900">(</SPAN><SPAN style="COLOR: #000088">$_SERVER</SPAN><SPAN style="COLOR: #009900">[</SPAN><SPAN style="COLOR: #0000ff">'SCRIPT_FILENAME'</SPAN><SPAN style="COLOR: #009900">]</SPAN><SPAN style="COLOR: #009900">)</SPAN> <SPAN style="COLOR: #339933">&&</SPAN> <SPAN style="COLOR: #0000ff">'comments.php'</SPAN> <SPAN style="COLOR: #339933">==</SPAN> <SPAN style="COLOR: #990000">basename</SPAN><SPAN style="COLOR: #009900">(</SPAN><SPAN style="COLOR: #000088">$_SERVER</SPAN><SPAN style="COLOR: #009900">[</SPAN><SPAN style="COLOR: #0000ff">'SCRIPT_FILENAME'</SPAN><SPAN style="COLOR: #009900">]</SPAN><SPAN style="COLOR: #009900">)</SPAN><SPAN style="COLOR: #009900">)</SPAN> <SPAN style="COLOR: #009900">{</SPAN>
<SPAN style="COLOR: #990000">die</SPAN> <SPAN style="COLOR: #009900">(</SPAN>__<SPAN style="COLOR: #009900">(</SPAN><SPAN style="COLOR: #0000ff">'Please do not load this page directly. Thanks!'</SPAN><SPAN style="COLOR: #009900">)</SPAN><SPAN style="COLOR: #009900">)</SPAN><SPAN style="COLOR: #339933">;</SPAN>
<SPAN style="COLOR: #009900">}</SPAN>
<SPAN style="FONT-WEIGHT: bold; COLOR: #000000">?></SPAN>

3. 在 comments.php 文件的评论列表元素中增加以下代码调用一切相干评论.

<SPAN style="FONT-WEIGHT: bold; COLOR: #000000"><?php</SPAN> wp_list_comments<SPAN style="COLOR: #009900">(</SPAN><SPAN style="COLOR: #009900">)</SPAN><SPAN style="COLOR: #339933">;</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #000000">?></SPAN>

4. 在 comments.php 的 id="commentform" 元素外部增加以下代码.

<SPAN style="FONT-WEIGHT: bold; COLOR: #000000"><?php</SPAN> comment_id_fields<SPAN style="COLOR: #009900">(</SPAN><SPAN style="COLOR: #009900">)</SPAN><SPAN style="COLOR: #339933">;</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #000000">?></SPAN>

和表单的适当勾销回复按钮, 代码如下.

<SPAN style="FONT-WEIGHT: bold; COLOR: #000000"><?php</SPAN> cancel_comment_reply_link<SPAN style="COLOR: #009900">(</SPAN><SPAN style="COLOR: #009900">)</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #000000">?></SPAN>

5. 将一切调用评论局部的代码由
1
 
<SPAN style="FONT-WEIGHT: bold; COLOR: #000000"><?php</SPAN> comments_template<SPAN style="COLOR: #009900">(</SPAN><SPAN style="COLOR: #009900">)</SPAN><SPAN style="COLOR: #339933">;</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #000000">?></SPAN>
<?php comments_template(); ?>

修正为一下代码
1
 
<SPAN style="FONT-WEIGHT: bold; COLOR: #000000"><?php</SPAN> comments_template<SPAN style="COLOR: #009900">(</SPAN><SPAN style="COLOR: #0000ff">''</SPAN><SPAN style="COLOR: #339933">,</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #009900">true</SPAN><SPAN style="COLOR: #009900">)</SPAN><SPAN style="COLOR: #339933">;</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #000000">?></SPAN>
<?php comments_template('', true); ?>

回调办法:
在根本嵌套的根底上, 定义 callback 办法以从新定义评论的内容和规划.
优点: 灵敏多变
缺陷: 添加大量代码
对于自定义嵌套回复, 我在之前的文章 "更新至 WordPress 2.7 正式版" 中误报了一个 bug. 在此, 我向一切读过此文的读者赔罪.
1. 在默许办法的根底上, 增加一个回调函数, 以取代 WordPress 默许的评论规划. 我在 function.php 中增加了一个名为 custom_comments 的办法. 这里需求留意, 请不要加上完结的 </li> 标签, 我会在后续文章中阐明详细为何不能加上.
2. 在 comments.php 中将
1
 
<SPAN style="FONT-WEIGHT: bold; COLOR: #000000"><?php</SPAN> wp_list_comments<SPAN style="COLOR: #009900">(</SPAN><SPAN style="COLOR: #009900">)</SPAN><SPAN style="COLOR: #339933">;</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #000000">?></SPAN>
<?php wp_list_comments(); ?>

修正为以下代码以调用自定义的 custom_comments 办法
1
 
<SPAN style="FONT-WEIGHT: bold; COLOR: #000000"><?php</SPAN> wp_list_comments<SPAN style="COLOR: #009900">(</SPAN><SPAN style="COLOR: #0000ff">'callback=custom_comments'</SPAN><SPAN style="COLOR: #009900">)</SPAN><SPAN style="COLOR: #339933">;</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #000000">?></SPAN>
<?php wp_list_comments('callback=custom_comments'); ?>

具体代码能够参考自己制造的 Blocks 主题.
什么主题适宜增加嵌套回复?
在主题中增加嵌套回复是个费事事, 它很折腾人, 而且会打乱整个主题构造, 直到如今我还在怀疑民间能否应该原生地支持嵌套回复. 但既然支持了很应该尝试一下, 那是不是一切的主题都适宜增加嵌套回复性能? 我感觉不是.
关于一些图片较多的, 或许评论页面构造复杂的主题, 显然是不适宜的, 这就是为什么我不断不在 iNove 增加嵌套回复性能的缘由. 然而关于一些不依赖图片的主题, 如 Blocks 就很适宜增加.
另外, 还需求依据你的需要判别能否支持嵌套回复, 支持多少层的回复? 最深层次是 10, 但咱们能够只支持到第二或许第三层, 以升高开发老本.
后记
不知为何, 没有应用嵌套回复的我被屡次问及相干的成绩. 由于嵌套回复完成复杂, 难以保护, 和其余一些缘由, 很多主题没有支持嵌套回复, 但很多人却是对它情有独钟, 我感觉能够将我的了解和大家分享一下.
接上去, 我还会另起文章解说一下 "嵌套回复的工作原理" 和 "如何在兼容多个 WordPress 版本的前提下完成嵌套回复", 假如你有更好的倡议或许任何意见, 请在此留言.
WP Trick Comments, Talk, Theme, Tutorial, WordPress
申明: 本站遵照 署名-非商业性应用-相反形式共享 3.0 共享协定. 转载请注明转自 NeoEase
Related Posts
在 WordPress 博客中预报文章 (33) 普通在一集电视节目完结的时分, 都会播放一些来自下一集的片段作为预报. 这能够让观众更有兴致,...
WordPress 嵌套回复形成原理 (30) 在上一篇文章 (WordPress 嵌套回复) 中, 我曾经引见了嵌套回复的利害, 制造办法等...
WordPress 多级导航菜单 (57) 难度: ★★★★多级导航菜单, 是指菜单存在多个层次, 层层嵌套, 当鼠标挪动到某个菜单时, ...
Use Image Title in iNove (57) The most frequently asked question about iNove ...
Change Header Color of iNove (67) Now I'll show you how to change the header colo...

以上就是安达网络工作室关于《WordPress 嵌套回复 (优缺点对照)》的一些看法。更多内容请查看本栏目更多内容!

本文相关话题: WordPress 嵌套回复
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
WordPress 3.5 与 wpdb::prepare() 报错处理方法

WordPress 3.5 正式公布, 这个版本包括大量更新. 启用了最新的呼应式规划默许主题 Twenty Twelve; 改版了 A...

结合WordPress构造进行适宜本人的SEO

WordPress不管是在顺序构造还是模板标签的定义上都十分重视搜寻引擎优化的概念,所以在Google等知名的搜寻引...

wordpress调用特定文章列表的技巧分享

调用网站最新文章: 复制代码代码如下:<?phpquery_posts('showposts=10&orderby=new'); //showposts=10示意...

对于WordPress的SEO优化相干的一些PHP页面脚本技巧

随着搜寻引擎大兴, 陈列在前的网站引入大量流量. 无论是搜寻页面的广告还是查进去的后果, 与搜寻者的指标婚...

如何制造WordPress主题言语包(汉化主题)

通过这次yHtml5主题的制造,我学会了怎样给主题制造言语包,就是普通的汉化主题啦。废话不多说,说步骤。 首...

详解WordPress中的头像缓存和代理中的缓存更新办法

wordpress评论中的头像是应用Gravatar的头像效劳(Gravatar民间注册地址:http://en.gravatar.com),用户的...

需求提交

客服服务