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 评论者超链接完成重定向跳转的办法

渣滓评论曾经不是一个新颖的货色了,置信只需是日独立IP超越2000的网站,只需开放评论的话,每天都会收到几...

wordpress增加顶级菜单完成思绪

比方本人创立了一个主题,那么需求在后盾增加一些设置选项,所以就触及到了后盾增加顶级菜单的需要: 复制代...

Crayon Syntaxer代码高亮插件与fancybox图片暗箱抵触的处理办法

其实,这是一个历史遗留成绩,在最开端建站的时分就曾经呈现了,在知更鸟主题和Crayon Syntaxer这个插件之间...

编写PHP脚原本完成WordPress中评论分页的性能

办法阐明 首先来看看可能被用到的办法. 关上文件 wp-includes/link-template.php 你会发现 WordPress 2.7 多...

2015年收费WordPress主题推荐(国际精选)

Enews &ndash; 黑色CMS/Blog双模式WordPress主题 历经将近一个月的工夫,主题作者水冷眸将之首款主题命名为...

如何处理WordPress更改新域名后使得网站失常运转

WordPress网站在改换域名后,需求从新配置以后域名能力使得网站失常运转,很多人遇到过这样的状况,那么如何...

需求提交

客服服务