• 售前

  • 售后

热门帖子
入门百科

WordPress 嵌套复兴 (优缺点对照)

[复制链接]
123456835 显示全部楼层 发表于 2021-8-15 19:36:44 |阅读模式 打印 上一主题 下一主题
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...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作