WordPress – 插件OSS Upload与WP Editor.md/WP Githuber MD插件冲突,导致katex公式不正确显示的问题
原创文章,作者:StubbornHuang,如若转载,请注明出处:《WordPress – 插件OSS Upload与WP Editor.md/WP Githuber MD插件冲突,导致katex公式不正确显示的问题》https://www.stubbornhuang.com/758/
1 问题的出现
之前阿里云做活动,用9块钱撸了一个两年的40G-OSS,所以最开始搭建博客的时候就是使用了OSS Upload作为我的媒体库,同时在本地媒体库也存有备份。然后最新想好好写写有关计算几何算法的东西,不可避免的需要编辑大量的公式,而自己一直在使用markdown语法编辑文章,当然笔记软件习惯使用了OneNote了,但是正当我写三维空间中的旋转变换与旋转矩阵这篇博文时,我发现在WP Editor.md/WP Githuber MD编辑的好好的katex格式的公式点了发布与更新之后发现公式里面所有的反斜杠\都没有,要知道latex中很多特殊的字符都是通过反斜杠\来进行辨识的,而反斜杠的去除导致了在网页上面katex公式显示不出来,类似于下面:
r(\varphi) = \left[\left|\cos(m\varphi)\over a\right|^{n2} + \left| \sin(m\varphi) \over b\right|^{n3} \right]^{- 1 \over n1}
全部变成了:
r(varphi) = left[left|cos(mvarphi)over aright|^{n2} + left| sin(mvarphi) over bright|^{n3} right]^{- 1 over n1}
2 问题的排查与解决
2.1 主题排除
第一时间觉得是目前使用过的主题的问题,然后第一时间更换了别的主题,发现问题并没有解决。
2.1 插件排除
既然不是主题的问题,那么就是插件的问题了。注意将插件逐一关闭,发现将OSSUpload插件关闭之后,问题消失了。
2.3 代码审查
用ftp工具将OSSUpload整个插件的代码down到本地之后,发现了OSS Upload.php中有一个函数:
stripslashes
这个函数就是去除字符串中所有的反斜杠,md。找了很久终于找到了,发现了这个函数写在了函数oss_upload_post_save之中,其中在该插件初始化的时候已经注册了一个钩子函数:
add_filter('content_save_pre', 'oss_upload_post_save');
在文章内容保存之前即可触发这个钩子函数。
2.4 解决
将stripslashes这一行代码注释,重启OSSUpload插件,发现了latex公式正常显示了,bingo!欺负我不会PHP!!!
当前分类随机文章推荐
- WordPress - get_post_type():获取当前文章或者给定文章类型
- WordPress - 在每一个文章内容末尾都加一个作者信息展示框
- WordPress - 在编辑文章发布时弹出是否发布提醒框
- WordPress - 修改管理后台登录地址,防止恶意爆破
- WordPress - 应对暴力破解登录和规避DDOS的几种方法
- WordPress - 添加网页三角网粒子背景 Canvas-nest.js
- WordPress - 增加百度统计代码
- WordPress - 站点底部显示站点运行时间
- WordPress - 插件WP Editor.md 在网站更换为https后无法正确加载
- WordPress - 查看别人的网站是用的WordPress的哪个主题
全站随机文章推荐
- Python3爬虫 - requests的请求响应状态码(requests.status_code)
- WordPress - 为文章增加评论才可查看相关隐藏内容的代码
- C++11 - override关键字简要介绍
- FFmpeg - 音频处理基本概念以及音频重采样(采样率转换)
- C++ - 使用Websocket++编写客户端连接WebSocket服务器并进行通信
- Centos7 - 配置Go环境
- 资源下载 - GPU Pro(1-7)英文原版高清PDF带书签下载
- 简单粗暴:使用pycharm安装对应的Python版本第三方包
- 资源分享 - Qt5.9 c++开发指南 PDF下载
- 资源分享 - Computational Geometry:An Introduction(Franco P.Preparata, and Michael Shamos)英文高清PDF下载