开发者社区 问答 正文

让WordPress 评论支持Markdown


Markdown很好用,尤其是写文章非常方便,贴代码更是方便,效率很高。我站里有很多教程,有时候会有朋友操作失败,然后想发代码的时候就非常麻烦,因为wordpress会过滤掉html标签,也就是代码被吞了,如果不过滤标签的话还可能会有朋友干坏事~

非常幸运有人已经写好了php解析markdown的脚本,我们可以直接用这个类对评论内容进行转义,这样就不会被吞了。

github地址: https://github.com/michelf/php-markdown


下载压缩包后,将里面的 MarkdownInterface.php Markdown.php MarkdownExtra.php三个文件放到主题文件夹下,并按照如下顺序加载

require get_template_directory() . '/MarkdownInterface.php';
require get_template_directory() . '/Markdown.php';
require get_template_directory() . '/MarkdownExtra.php';


然后通过wp的钩子 pre_comment_content对评论内容进行预处理即可
use \Michelf\MarkdownExtra;
add_filter('pre_comment_content' ,'markdownify_comment' );
function markdownify_comment($comment_content){

    return MarkdownExtra::defaultTransform($comment_content);

}


以上代码都是加到 functions.php

本文转载自: http://fatesinger.com/76071

展开
收起
妙正灰 2015-08-06 22:03:48 10874 分享 版权
阿里云 AI 助理回答

看起来你已经找到了一个很好的解决方案来在WordPress中使用Markdown语法处理评论内容,这确实能提升用户交流代码片段的体验。不过,如果你需要进一步优化或遇到任何问题,这里有一些建议和补充信息:

  1. 性能考虑:虽然直接在functions.php中引入Markdown解析库并实时转换评论内容是可行的,但对每个评论都执行这个操作可能会对服务器造成额外负担,尤其是当评论量大时。你可以考虑缓存转换后的结果,减少重复解析。

  2. 安全性:确保在解析Markdown之前进行适当的内容过滤和安全检查,以防止XSS攻击等安全风险。虽然Markdown本身不支持HTML标签,但MarkdownExtra扩展可能允许一些HTML输出,因此安全过滤是非常重要的。

  3. 更新与维护:记得定期检查php-markdown库是否有更新,及时升级以获取潜在的安全修复和新特性。你可以通过GitHub订阅项目或者设置自动化工具来监控依赖更新。

  4. 兼容性和自定义:根据你的主题和插件配置,可能需要对Markdown解析器做一些自定义调整,比如禁用某些功能或添加特定的扩展,以更好地适应站点需求。

  5. 阿里云服务建议:如果你的WordPress站点托管在阿里云上,可以考虑利用阿里云的一些服务来进一步优化性能和安全性:

    • OSS(对象存储服务):如果静态资源较多,可以考虑将图片、样式表等文件迁移到OSS,减轻服务器压力。
    • CDN(内容分发网络):结合CDN加速全球访问速度,提高用户体验。
    • WAF(Web应用防火墙):增强网站防护能力,抵御SQL注入、XSS跨站脚本等常见Web攻击。
    • RDS(关系型数据库服务):如果原生的WordPress数据库负载较高,可以迁移至RDS,享受更专业的数据库管理和服务保障。

希望这些建议对你有所帮助!如果有更多技术细节或具体操作上的疑问,欢迎继续提问。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: