typecho博客评论添加异步加载和Ajax功能
使用前需要借助绛木子的评论增强插件,自己还没有自创的能力,所以借助的插件的功能。
修改functions.php
添加代码如下:
/**
* 重写评论显示函数
*/
function threadedComments($comments, $options){
$html = TeComment_Plugin::parseCommentHtml($comments, $options);
$children = '';
if ($comments->children) {
ob_start();
$comments->threadedComments();
$children = ob_get_contents();
ob_end_clean();
}
$html = str_replace('>{children}<','>'.$children.'<',$html);
echo $html;
}
修改comments.php
下面是原来的代码(使用默认主题)
<?php $this->comments()->to($comments); ?>
<?php if ($comments->have()): ?>
<h3><?php $this->commentsNum(_t('暂无评论'), _t('仅有一条评论'), _t('已有 %d 条评论')); ?></h3>
<?php $comments->listComments(); ?>
<?php $comments->pageNav('« 前一页', '后一页 »'); ?>
<?php endif; ?>
替换上面的代码
<?php if($this->options->plugin('TeComment')->commentAjaxLoad): ?>
<div id="comment-ajax-list" data-cid="<?php $this->cid();?>" data-num="<?php $this->commentsNum();?>" data-comment-page="<?php echo $this->request->commentPage;?>"></div>
<?php else: ?>
<?php $this->comments()->to($comments); ?>
<?php if ($comments->have()): ?>
<?php $comments->listComments(); ?>
<?php $comments->pageNav('« 前一页', '后一页 »'); ?>
<?php endif; ?>
<?php endif; ?>
comments.php找到
<?php $comments->cancelReply(); ?>
修改为
<?php echo '<a id="cancel-comment-reply-link" href="' . $this->permalink . '#' . $this->respondId . '" rel="nofollow"' . ($this->request->filter('int')->replyTo ? '' : ' style="display:none"') . ' onclick="return TypechoComment.cancelReply();">'._t('取消回复').'</a>'; ?>
这样就大功告成啦,如果你们也想添加的话可以访问:评论增加插件 (里面还有详细教程,相信看了都会)
我还对评论样式做了相应的修改,具体操作我也忘了,你们可以自行修改,应该没什么太大问题。
评论添加异步加载和Ajax功能后,就能减少一些服务器的压力,增加用户体验,提高速度。(好像没太大作用)
typecho博客评论添加异步加载和Ajax功能
https://isenchun.cn/9.html
buy cafergot
不想修改太多了,以后更新麻烦!!
只能是折腾一下 哈哈哈
被你发现了
不错哦!
还行还行