一直想重新写一下WordPress的公式编辑器插件,最近业余稍微有了点时间,于是学了一下如何写WordPress插件。之所以想重写WordPress公式编辑插件,原因有二:第一,这种插件很少,当时我有这个需要的时候,发现国内竟然没有人介绍这类插件,于是写了一篇介绍性的文章《WordPress中的公式编辑器插件》,目前的点击率表明这类插件还是有需求的;第二,在使用过程中,对于wpmathpub,我并不是很满意,尤其是它的[pmath]标签,觉得很繁琐,于是对其做了修改,写了第二篇如何修改的文章《PhpMathPublisher与wpmathpub修改》,但是这种修改事实上像是转了个圈——wpmathpub把<m>替换为[pmath],而我又将[pmath]替换为<m>,中间过程多此一举,所以一直有修改的念头。
  重写的时候又仔细看了下PhpMathPublisher的代码,真的是很佩服这个法国中学老师作者,可以说这个库是这几个wordpress公式编辑器插件的基石,贡献率超过90%。当然,我的这个插件WpMathEditor也不例外,甚至更依赖于PhpMathPublisher,因为我将它的<m>标签都保留了。
  我的代码应该是最最简单的了,只有几句,写得时候的原则是能省则省,能不用就不用,包括自定义公式大小,但基本上这个插件已经能满足”我爱自然语言处理“的所有需求了。以下是规范的中文使用说明书,同时我已经将PhpMathPublisher的帮助文档译成中文,这样能作为WpMathEditor的帮助文档,我相信详细的说明文档对于大家使用这个插件将会有很好的辅助作用。

简介
  WpMathEditor是WordPress的一个公式编辑器插件,用于文章及页面中的数学公式显示。这个插件建立在PhpMathPublisher的基础之上,通过调用它所提供的库函数,将在<m>...</m>之间的数学命令转换成数学公式,插入到文章或页面中。

使用说明
  编辑文章或页面时请使用WordPress的HTML模式,当需要插入数学公式时,可以在文本中插入<m>数学命令</m>,在文章中将相应的显示数学公式。如:
     <m>a+b</m> ==> a+b
     <m>a-b</m> ==> a-b
     <m>a*b</m> ==> a*b
     <m>a/b</m> ==> a/b
     <m>a^b</m> ==> a^b
     <m>a_b</m> ==> a_b
     <m>a<>b</m> ==> a<>b
     <m>a>=b</m> ==> a>=b
     <m>sqrt{a}</m> ==> sqrt{a}
     <m>root{n}{a}</m> ==> root{n}{a}
     <m>lim{a}{x}</m> ==> lim{a}{x}
     <m>sum{a}{b}{x}</m> ==> sum{a}{b}{x}
  这些只是最基本的几个例子,详细请参考我翻译的PhpMathPublisher中文帮助文档或PhpMathPublisher官方英文帮助文档,里面有基本的数学命令或数学符号对应的数学公式说明,既PhpMathPublisher自己定义的数学命令公式语法。利用这些基本的命令,可以组合出很复杂的数学公式,如:
  <m>S(f)(t)=a_{0}+sum{n=1}{+infty}{a_{n} cos(n omega t)+b_{n} sin(n omega t)}</m>   
 ==>
  S(f)(t)=a_{0}+sum{n=1}{+infty}{a_{n} cos(n omega t)+b_{n} sin(n omega t)}
  在PhpMathPublisher官方主页上有一个Online Demo,可以在线练习和测试各种数学公式表达式,用户可以方便的输入自己设计的数学命令,点击按钮“See”后可以看到生成的数学公式是否满足自己的要求,这样很容易修改自己的数学命令。

下载及安装说明
  目前WpMathEditor的版本是0.1,在WordPress官网的正式地址在:
   http://wordpress.org/extend/plugins/wpmatheditor/
  我在www.52nlp.com上为其写了英文说明,52nlp.com作为52nlp.cn的英文站存在,WpMathEditor的英文说明地址在:
   https://www.52nlp.com/wpmatheditor/
  下载请在WordPress官网上下载。
  安装说明:
  1 将其上传到 /wp-content/plugins 目录下并解压;
  2 确保 /wp-content/plugins/WpMathEditor/
phpmathpublisher/img 目录可写可读,最好将其设置为755权限;
  3 在WordPress控制面板的插件里将其启用即可。
  注:其中第2条非必要条件,如果安装时出现问题,就要考虑img目录的权限问题。

补充说明
  目前WpMathEditor 0.1版已在”我爱自然语言处理“上测试了一段时间,比较稳定。如果您下载了这个WordPress中新的公式编辑器插件,在使用过程中发现任何bug,遇到任何问题和有什么好的建议,请在这里留言,我将及时给予解答。

注:原创文章,转载请注明出处“我爱自然语言处理”:www.52nlp.cn

本文链接地址:
https://www.52nlp.cn/my-first-wordpress-plugin-wpmatheditor/

作者 52nlp

《WpMathEditor:我的第一个WordPress插件》有19条评论
  1. 你好,我使用了你的wordpress公式插件,发表文章很不错。
    但是我现在安装了一个wordpress论坛插件,simpleforum,这个论坛使用的tinyMCe 文本框,我想知道,如何使得论坛也能调用这个插件的功能处理 公式脚本,多谢

    [回复]

  2. 你好,我没有用过这个wordpress论坛插件,刚才查了一下simpleforum,能留下你的博客论坛地址吗?我想看看它和wordpress整合的效果。关于能否在这个环境下使用wpmatheditor,由于自己时间安排比较紧,我需要考虑一下它们两个接口整合的复杂程度,过两天给你答复吧。

    [回复]

  3. wpmatheditor这个插件主要是在wordpress中发表文章前首先利用PhpMathPublisher将相应的公式脚本转化为公式图片,然后再在文章中调用公式图片。我在本机上安装了一下simpleform的这个论坛插件,试了一下它的tinyMCE编辑器,好像wordpress也使用的是这个编辑器,不过比它要简单一些,另外它的html编辑模式和wordpress不太一样。感觉这个插件比较复杂,论坛发表文章是独立于 wordpress的,如果想在里面使用公式,可以考虑从如何调用phpmathpublisher的转换函数入手比较合适,wpmatheditor似乎还不能胜任这个工作。

    [回复]

  4. 多谢了,您先忙您的。我打算有空先自己研究一下再说。
    回头再请教。反正现在也不着急,呵呵。
    tinymce貌似有一个拖拽公式的插件。
    我先看看。

    如果想在博客里边插入广告,这个是不是装一个广告插件就行了啊。

    [回复]

  5. 我见到有些人用latex在wordpress里面写公式的。如果仅仅是插入公式,博主的可能更精简些。

    [回复]

    52nlp 回复:

    latex比较强大,通用性更广,wikimedia上也有人用,我这个只是小喽啰了,呵呵!

    [回复]

  6. 为啥我写的公式上会有一个小小的绿色载入的标志呢?

    [回复]

    52nlp 回复:

    不清楚,可有演示的网页?

    [回复]

    lichen782 回复:

    不好意思,后来发现原来是和我的wordpress主题冲突。谢谢

    [回复]

  7. 问一下我想输入{x|x属于X},中间那个"|"怎么输入啊,直接输入的话,输出的是一个减号,而且符号中也米有定义| ?

    [回复]

    52nlp 回复:

    x delim{|} {x in X} {}

    [回复]

    52nlp 回复:

    试一下这个吧,我也好久没用了,呵呵。

    [回复]

    rain 回复:

    谢谢!

    [回复]

  8. http://www.xm1math.net/phpmathpublisher/doc/README.html
    请教phpmathpublisher怎么用啊?里面说了一大堆完全没看明白,要安装字体之类的吗?不知道怎么弄。求详解!

    [回复]

    52nlp 回复:

    是要安装字体的:

    Then, you must install the fonts into their directory (there are located in the fonts/ directory in the package).

    不过我早已不用这个了,推荐你用mathjax

    [回复]

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注