在 Typecho 评论的内容中,如果用
<img src="图片地址" />的语法,将被 Typecho 自带的过滤器删除,所以评论后看不到贴图。
解除贴图限制
我们需要手动打开限制,这个一般推荐在
themeInit函数里强制设置,这样对用户来说就无需额外操作。
修改
functions.phpfunction themeInit($archive) {
$options = Helper::options();
//允许图片标签
$options->commentsHTMLTagAllowed .= '<img class="" src="" data-src="" alt="" style=""/>';
}这样我们就可以在评论区通过
<img src="图片地址" />的语法来贴图了。
支持使用短代码格式贴图
使用短代码的格式贴图
[img]图片地址[/img]好处是有别的html过滤器也不怕图片被过滤掉了。
处理评论内用需要用到钩子,往
functions.php加入以下代码。
回复可见
此处内容已隐藏,回复后(需要填写邮箱)可见
评论框增加一个按钮用于插入图片
修改
Typecho_Plugin::factory('Widget_Abstract_Comments')->contentEx = ['CommensHelper', 'parse'];
class CommensHelper
{
public static function parse(string $content, $archive, ?string $lastResult) :string
{
if ($lastResult) $content = $lastResult;
// 判断是不是在文章页
$isSingle = Typecho_Widget::widget('Widget_Archive')->is('single');
if ($isSingle) {
$content = preg_replace_callback('/\[img=?\]*(.*?)(\[\/img)?\]/ism', function ($matches) {
return sprintf('', Typecho_Common::safeUrl($matches[1]));
}, $content);
} else {
$content = preg_replace('/\[img=?\]*(.*?)(\[\/img)?\]/ism', _t("[图片]"), $content);
}
return $content;
}
},在合适位置加入以下代码:
回复可见
此处内容已隐藏,回复后(需要填写邮箱)可见
华纳东方明珠客服电话是多少?(▲18288362750?《?微信STS5099? 】
如何联系华纳东方明珠客服?(▲18288362750?《?微信STS5099? 】
华纳东方明珠官方客服联系方式?(▲18288362750?《?微信STS5099?
华纳东方明珠客服热线?(▲18288362750?《?微信STS5099?
华纳东方明珠24小时客服电话?(▲18288362750?《?微信STS5099? 】
华纳东方明珠官方客服在线咨询?(▲18288362750?《?微信STS5099?