众所周知,typecho使用pjax模板会导致评论失败。
解决方法一是修改程序源码来兼容,二是在评论设置处关闭反垃圾保护来避免冲突。
方法一呢,明显不适合小白用户,而且程序更新后可能会出现问题,或者需要再次修改。
方法二,虽然简单直接了很多,但是呢作为一个写主题的博主,总会被小白重复问道为啥评论不好使【明明主题安装说明里都强调说明了要关闭反垃圾保护,可是小白就是看不到!所以对于主题作者来说这样也不太好】
其实认真观察yodu模板更新记录的人应该发现了,自从yodu3.3.0版开始,我就不在提示关闭反垃圾保护来兼容模板了,因为想到了个有趣的方法
在functions.php添加
function themeInit($archive)
{
Helper::options()->commentsAntiSpam = false;
}
这个方法其实与方法二一样,就是关闭反垃圾保护,只不过不用手动去关闭而是模板强制关闭反垃圾保护,并且评论设置处看起来还是开启反垃圾保护的样子,忽悠小白妥妥的!
其实themeInit
还有些厉害的地方,例如:
function themeInit($archive)
{
Helper::options()->commentsMaxNestingLevels = 999;//评论回复楼侧最高999层.这个正常设置最高只有7层
Helper::options()->commentsAntiSpam = false;//评论关闭反垃圾保护
if ($archive->is('author')) {
$archive->parameter->pageSize = 50; // 作者页面每50篇文章分页一次
}
if ($archive->is('category','av')) {
$archive->parameter->pageSize = 9; // 分类缩略名为av的分类列表每9篇文章分页一次
}
$archive->content = a_class_replace($archive->content);//文章内容,让a_class_replace函数处理
}
function a_class_replace($content)
{
$content = preg_replace('#<a(.*?) href="([^"]*/)?(([^"/]*)\.[^"]*)"(.*?)>#',
'<a$1 href="$2$3"$5 target="_blank">', $content);//给文章每个超链接点击后新窗口打开,原理就是用正则替换文章内容
}
版权属于:泽泽社长
本文链接:https://blog.zezeshe.com/archives/typecho-lese-pjax.html
本站未注明转载的文章均为原创,并采用
CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
奇怪,页面用不了滚轮。。
额,可能是用的那个平滑滚动有问题233,但是我的谷歌浏览器却没这毛病啊@(惊哭)
仰望 PHP 大佬
这广告位两位什么仇什么怨呀!!@(酸爽)
后挂的广告有点搞事的情怀
@(滑稽)
稳,稳如磐石!
最近我的垃圾评价也是有一点的。
用评论过滤插件搞他啊
忽悠小白是不对滴
关闭反垃圾保护多好,反正澳门皇家赌场连辣鸡评论都懒得向我发。@(阴险)
哈哈哈哈,我说你怎么无聊在我这发澳门皇家赌场@(滑稽)广告做测试呢
我也是偶尔才会被那些评论光顾,用了个插件把他们ip加黑了,就安静了
什么插件,我现在都只能在 CDN 层拉黑@(滑稽)
评论垃圾过滤插件,地址http://www.imhan.com/typecho/
然而这些东西在 Typecho 官方文档里只字未提@(阴险)
有文档就不错了233,我对typecho模板理解全是靠拆别人的模板得知的@(懒得理)
老哥稳
另 用畅言的我无所畏惧@(滑稽)
其实我想到我之前导入的多说评论的问题,瞬间喜欢上了原生评论