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... |