OttoLi 的胡言乱语

  • 账户
    • 登录
    • 注册
    • 个人中心
head

WordPress 写作高级操作指南

2020年2月28日 5383点热度 4人点赞 0条评论

说明

这是一篇用来记录 WordPress 文章写作中实现一些高级(sāo)操作的方法。目的主要用作自我记录、自我学习,也带有教程性质。发布作为博文,如果对路过的你有所帮助,不胜荣幸,欢迎留言讨论

给文章添加涂黑可以刮开的文字效果

在萌娘百科中,经常见到涂黑的文本就像这样,鼠标指向时会显示出被涂黑的内容,于是扒了扒萌娘百科的网站代码,找到了对应的 css 代码:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
span.heimu a.external,span.heimu a.external:visited,span.heimu a.extiw,span.heimu a.extiw:visited{color:#252525}.heimu,.heimu a,a .heimu,.heimu a.new{background-color:#252525;color:#252525;text-shadow:none;}body:not(.heimu_toggle_on) .heimu:hover,body:not(.heimu_toggle_on) .heimu:active,body:not(.heimu_toggle_on) .heimu.off{transition:color .13s linear;color:#fff}body:not(.heimu_toggle_on) .heimu:hover a,body:not(.heimu_toggle_on) a:hover .heimu,body:not(.heimu_toggle_on) .heimu.off a,body:not(.heimu_toggle_on) a:hover .heimu.off{transition:color .13s linear;color:#add8e6}body:not(.heimu_toggle_on) .heimu.off .new,body:not(.heimu_toggle_on) .heimu.off .new:hover,body:not(.heimu_toggle_on) .new:hover .heimu.off,body:not(.heimu_toggle_on) .heimu.off .new,body:not(.heimu_toggle_on) .heimu.off .new:hover,body:not(.heimu_toggle_on) .new:hover .heimu.off{transition:color .13s linear;color:#ba0000}
span.heimu a.external,span.heimu a.external:visited,span.heimu a.extiw,span.heimu a.extiw:visited{color:#252525}.heimu,.heimu a,a .heimu,.heimu a.new{background-color:#252525;color:#252525;text-shadow:none;}body:not(.heimu_toggle_on) .heimu:hover,body:not(.heimu_toggle_on) .heimu:active,body:not(.heimu_toggle_on) .heimu.off{transition:color .13s linear;color:#fff}body:not(.heimu_toggle_on) .heimu:hover a,body:not(.heimu_toggle_on) a:hover .heimu,body:not(.heimu_toggle_on) .heimu.off a,body:not(.heimu_toggle_on) a:hover .heimu.off{transition:color .13s linear;color:#add8e6}body:not(.heimu_toggle_on) .heimu.off .new,body:not(.heimu_toggle_on) .heimu.off .new:hover,body:not(.heimu_toggle_on) .new:hover .heimu.off,body:not(.heimu_toggle_on) .heimu.off .new,body:not(.heimu_toggle_on) .heimu.off .new:hover,body:not(.heimu_toggle_on) .new:hover .heimu.off{transition:color .13s linear;color:#ba0000}
span.heimu a.external,span.heimu a.external:visited,span.heimu a.extiw,span.heimu a.extiw:visited{color:#252525}.heimu,.heimu a,a .heimu,.heimu a.new{background-color:#252525;color:#252525;text-shadow:none;}body:not(.heimu_toggle_on) .heimu:hover,body:not(.heimu_toggle_on) .heimu:active,body:not(.heimu_toggle_on) .heimu.off{transition:color .13s linear;color:#fff}body:not(.heimu_toggle_on) .heimu:hover a,body:not(.heimu_toggle_on) a:hover .heimu,body:not(.heimu_toggle_on) .heimu.off a,body:not(.heimu_toggle_on) a:hover .heimu.off{transition:color .13s linear;color:#add8e6}body:not(.heimu_toggle_on) .heimu.off .new,body:not(.heimu_toggle_on) .heimu.off .new:hover,body:not(.heimu_toggle_on) .new:hover .heimu.off,body:not(.heimu_toggle_on) .heimu.off .new,body:not(.heimu_toggle_on) .heimu.off .new:hover,body:not(.heimu_toggle_on) .new:hover .heimu.off{transition:color .13s linear;color:#ba0000}

将 css 插入到 博客 - 外观 - 自定义 - 额外CSS 中,就可以在博文中使用涂黑的文本了

使用的方法是在编辑时切换到 HTML 编辑模式,输入一个 <span> 标签, class 值设为 "heimu" ,可选属性为 title ,用来设置鼠标指向时浮现的气泡文本

举个例子:啦啦啦啦

对应的代码是:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<span class="heimu" title="我是个栗子">啦啦啦啦</span>
<span class="heimu" title="我是个栗子">啦啦啦啦</span>
<span class="heimu" title="我是个栗子">啦啦啦啦</span>

P.S. 我查了一些资料,想把这个功能做成一个按钮添加到 WordPress 的可视化编辑器中,方法找到了,但是按钮是通过 js 编写的,由于看不懂 js 代码,就先作罢吧……

为 WordPress 添加 LaTeX\LaTeXLATE​X 数学公式显示功能

首先在后台搜索插件 Mathjax-Latex 并安装

理论上讲只要安装这个插件就能实现在 WordPress 中插入 LaTeX\LaTeXLATE​X 数学公式了,但是由于 MathJex 默认 CDN 无法通过 GFW,需要在自己的服务器安装 MathJex 服务

截止目前,插件 Mathjax-Latex 的版本是 1.3.11 ,已经有 1 年没更新了,支持的 MathJex 版本是 2.7.5 ,所以我们到 GitHub 下载 2.7.5 版本的 MathJex :

P.S. 不要下载最新版本!别问我为什么……

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
https://github.com/mathjax/MathJax/archive/2.7.5.zip
https://github.com/mathjax/MathJax/archive/2.7.5.zip
https://github.com/mathjax/MathJax/archive/2.7.5.zip

下载好后解压到网站目录下(随便哪里,我放在 Mathjax-Latex 插件目录中),然后在 Mathjax-Latex 插件设置中将 Custom MathJax location? 填写为 MathJax.js 的路径即可,例如:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/wp-content/plugins/mathjax-latex/MathJax-2.7.5/MathJax.js
/wp-content/plugins/mathjax-latex/MathJax-2.7.5/MathJax.js
/wp-content/plugins/mathjax-latex/MathJax-2.7.5/MathJax.js

此时,在文章中就可以插入 LaTeX\LaTeXLATE​X 数学公式啦~

举个栗子:∮LH⋅dl=I0+∬S∂D∂t⋅dS\oint_LH\cdot dl=I_0+\iint_S\frac{\partial D}{\partial t}\cdot dS∮L​H⋅dl=I0​+∬S​∂t∂D​⋅dS

输入格式:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[ latex ]\oint_LH\cdot dl=I_0+\iint_S\frac{\partial D}{\partial t}\cdot dS[ /latex ]
P.S.由于插件强制转义,[]内加了空格
[ latex ]\oint_LH\cdot dl=I_0+\iint_S\frac{\partial D}{\partial t}\cdot dS[ /latex ] P.S.由于插件强制转义,[]内加了空格
[ latex ]\oint_LH\cdot dl=I_0+\iint_S\frac{\partial D}{\partial t}\cdot dS[ /latex ]
P.S.由于插件强制转义,[]内加了空格

P.S. 这个插件对 LaTeX\LaTeXLATE​X 支持不完整,有些符号可能无法转义,如二重环路积分 \oiint

为 WordPress 添加 LaTeX\LaTeXLATE​X 数学公式显示功能 - 2

上一节提到使用 Mathjax-Latex 插件配合本地 Mathjax 实现 WordPress 显示 LaTeX\LaTeXLATE​X 数学公式,但是上节末也提到,(大概是)由于插件长久不更新,对 LaTeX\LaTeXLATE​X 支持不够完整,以至于连个麦克斯韦方程组都显示不出来。为了满足插入麦克斯韦方程组的虚伪愿望,我找到了办法:

非常简单,在 WordPress 插件库搜索 wp-katex 安装就好了,使用方法和 Mathjax-Latex 一样,在 LaTeX\LaTeXLATE​X 代码前后用 [ latex ] 和 [ /latex ] 引起来就行了

例如麦克斯韦方程组:

{∯SD⋅dS=q0∯SB⋅dS=0∮LE⋅dl=−∬S∂B∂t⋅dS∮LH⋅dl=I0+∬S∂D∂t⋅dS\left\{\begin{matrix} \begin{aligned} \oiint_S \mathbf{D}\cdot \mathrm{d}\mathbf{S} &= q_0\\\oiint_S \mathbf{B}\cdot \mathrm{d}\mathbf{S} &= 0\\\oint_L \mathbf{E}\cdot d\mathbf{l} &= -\iint_S\frac{\partial \mathbf{B}}{\partial t}\cdot d\mathbf{S}\\ \oint_L\mathbf{H}\cdot d\mathbf{l} &= I_0+\iint_S\frac{\partial \mathbf{D}}{\partial t}\cdot d\mathbf{S} \end{aligned} \end{matrix}\right.⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧​∬​S​D⋅dS∬​S​B⋅dS∮L​E⋅dl∮L​H⋅dl​=q0​=0=−∬S​∂t∂B​⋅dS=I0​+∬S​∂t∂D​⋅dS​​

对应代码为:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[ latex ]\left\{\begin{matrix} \begin{aligned} \oiint_S \mathbf{D}\cdot \mathrm{d}\mathbf{S} &= q_0\\\oiint_S \mathbf{B}\cdot \mathrm{d}\mathbf{S} &= 0\\\oint_L \mathbf{E}\cdot d\mathbf{l} &= -\iint_S\frac{\partial \mathbf{B}}{\partial t}\cdot d\mathbf{S}\\ \oint_L\mathbf{H}\cdot d\mathbf{l} &= I_0+\iint_S\frac{\partial \mathbf{D}}{\partial t}\cdot d\mathbf{S} \end{aligned} \end{matrix}\right.[ /latex ]
P.S.由于插件强制转义,[]内加了空格
[ latex ]\left\{\begin{matrix} \begin{aligned} \oiint_S \mathbf{D}\cdot \mathrm{d}\mathbf{S} &= q_0\\\oiint_S \mathbf{B}\cdot \mathrm{d}\mathbf{S} &= 0\\\oint_L \mathbf{E}\cdot d\mathbf{l} &= -\iint_S\frac{\partial \mathbf{B}}{\partial t}\cdot d\mathbf{S}\\ \oint_L\mathbf{H}\cdot d\mathbf{l} &= I_0+\iint_S\frac{\partial \mathbf{D}}{\partial t}\cdot d\mathbf{S} \end{aligned} \end{matrix}\right.[ /latex ] P.S.由于插件强制转义,[]内加了空格
[ latex ]\left\{\begin{matrix} \begin{aligned} \oiint_S \mathbf{D}\cdot \mathrm{d}\mathbf{S} &= q_0\\\oiint_S \mathbf{B}\cdot \mathrm{d}\mathbf{S} &= 0\\\oint_L \mathbf{E}\cdot d\mathbf{l} &= -\iint_S\frac{\partial \mathbf{B}}{\partial t}\cdot d\mathbf{S}\\ \oint_L\mathbf{H}\cdot d\mathbf{l} &= I_0+\iint_S\frac{\partial \mathbf{D}}{\partial t}\cdot d\mathbf{S} \end{aligned} \end{matrix}\right.[ /latex ]
P.S.由于插件强制转义,[]内加了空格

怎样输入文(wén)字(zì)拼(pīn)音(yīn)

文字拼音的效果是通过 <ruby> 、 <rt> 、 <rp> 这三个 HTML 标签实现的,这三个标签是 HTML 5 新加入的,作用就是给中文、日文等字符注音

注意:Internet Explorer 8 以及更早的版本不支持这三个标签!

简单解释一下三个标签的意义

  • <ruby> 用来包裹整个需要标注的部分
  • <rt> 用来包裹标注的内容
  • <rp> 用来定义不支持 ruby 元素的浏览器所显示的内容

下面演示在支持以及不支持 HTML 5 的网页上的显示效果:

  • 支持 HTML 5
  • 不支持 HTML 5

使用 <rp> 的用法:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<ruby>
漢<rp>(<rp><rt>hàn</rt><rp>)</rp>
</ruby>
<ruby> 漢<rp>(<rp><rt>hàn</rt><rp>)</rp> </ruby>
<ruby>
漢<rp>(<rp><rt>hàn</rt><rp>)</rp>
</ruby>

显示为:

漢(hàn)

不使用 <rp> 的用法:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<ruby>
漢<rt>hàn</rt>
</ruby>
<ruby> 漢<rt>hàn</rt> </ruby>
<ruby>
漢<rt>hàn</rt>
</ruby>

显示为:

漢hàn

使用 <rp> 的用法:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<ruby>
漢<rp>(<rp><rt>hàn</rt><rp>)</rp>
</ruby>
<ruby> 漢<rp>(<rp><rt>hàn</rt><rp>)</rp> </ruby>
<ruby>
漢<rp>(<rp><rt>hàn</rt><rp>)</rp>
</ruby>

在不支持 HTML 5 的网页上显示为:

漢(hàn)

不使用 <rp> 的用法:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<ruby>
漢<rt>hàn</rt>
</ruby>
<ruby> 漢<rt>hàn</rt> </ruby>
<ruby>
漢<rt>hàn</rt>
</ruby>

在不支持 HTML 5 的网页上显示为:

漢hàn

另附25个拼音字符: ā á ǎ à、ō ó ǒ ò、ē é ě è、ī í ǐ ì、ū ú ǔ ù、ǖ ǘ ǚ ǜ ü

怎样输入文(wén)字(zì)拼(pīn)音(yīn) - 2

上节提到,文字拼音的效果是通过 <ruby> 、 <rt> 、 <rp> 这三个 HTML 标签实现的。其实不然,我漏掉了一个标签—— <rb>

<rb> 标签同样是与 <ruby> 配合使用的,它的作用是包裹整个被标记的文本,从而对多个字符同时进行标记,下面用例子说明:

① 不使用 <rb> 的例子:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<ruby>
汉<rp>(</rp><rt>hàn</rt><rp>)</rp>
字<rp>(</rp><rt>zì</rt><rp>)</rp>
</ruby>
<ruby> 汉<rp>(</rp><rt>hàn</rt><rp>)</rp> 字<rp>(</rp><rt>zì</rt><rp>)</rp> </ruby>
<ruby>
汉<rp>(</rp><rt>hàn</rt><rp>)</rp>
字<rp>(</rp><rt>zì</rt><rp>)</rp>
</ruby>

① 显示为:

汉(hàn) 字(zì)

② 使用 <rb> 的例子:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<ruby>
<rb>汉字</rb>
<rp>(</rp><rt>hàn zì</rt><rp>)</rp>
</ruby>
<ruby> <rb>汉字</rb> <rp>(</rp><rt>hàn zì</rt><rp>)</rp> </ruby>
<ruby>
<rb>汉字</rb>
<rp>(</rp><rt>hàn zì</rt><rp>)</rp>
</ruby>

② 显示为:

汉字 (hàn zì)

从上面的例子可以看出,对于汉字注音来说,两种方式的代码显示效果是一致的,但是当字数大于一时,使用 <rb> 可以使代码缩短

下面继续举例,展示一个不用 <rb> 无法实现的情况:

③ 必须使用 <rb> 的例子:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<ruby>
<rb>汉字</rb>
<rp>(</rp><rt>Chinese</rt><rp>)</rp>
</ruby>
<ruby> <rb>汉字</rb> <rp>(</rp><rt>Chinese</rt><rp>)</rp> </ruby>
<ruby>
<rb>汉字</rb>
<rp>(</rp><rt>Chinese</rt><rp>)</rp>
</ruby>

③ 显示为:

汉字 (Chinese)

容易看出,当被标记的字符数与标记的内容数量不对等时,就必须使用 <rb> 标签,不然就只能做成:【汉(Chinese)字】 或者 【汉字(Chinese)】了,或者……【汉(Chin )字(ese)】?hhhh

另外,<rb> 标签还有一个优点,就是使用涂黑文本时,参数 class="heimu" 写在 <rt> 中,使用 <rb> 标签,标注部分是一个整体,比如这样: 汉字(hàn zì) 如果没有使用 <rb> 标签,虽然也能涂黑,但是两个部分不能同时显示,就像这样: 汉(hàn)字(zì)

代码如下:

④ 使用 <rb> 的涂黑文本:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<ruby>
<rb>汉字</rb>
<rp>(</rp><rt class="heimu">hàn zì</rt><rp>)</rp>
</ruby>
<ruby> <rb>汉字</rb> <rp>(</rp><rt class="heimu">hàn zì</rt><rp>)</rp> </ruby>
<ruby>
<rb>汉字</rb>
<rp>(</rp><rt class="heimu">hàn zì</rt><rp>)</rp>
</ruby>

④ 显示为:

汉字 (hàn zì)

⑤ 不使用 <rb> 的涂黑文本:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<ruby>
汉<rp>(</rp><rt class="heimu">hàn</rt><rp>)</rp>
字<rp>(</rp><rt class="heimu">zì</rt><rp>)</rp>
</ruby>
<ruby> 汉<rp>(</rp><rt class="heimu">hàn</rt><rp>)</rp> 字<rp>(</rp><rt class="heimu">zì</rt><rp>)</rp> </ruby>
<ruby>
汉<rp>(</rp><rt class="heimu">hàn</rt><rp>)</rp>
字<rp>(</rp><rt class="heimu">zì</rt><rp>)</rp>
</ruby>

④ 显示为:

汉(hàn) 字(zì)
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可
标签: Wordpress 建站
最后更新:2020年3月9日

OttoLi

涧户寂无人,纷纷开且落
——辛夷坞

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

OttoLi

涧户寂无人,纷纷开且落
——辛夷坞

最新 热点 随机
最新 热点 随机
精粤 h610i 主板 BIOS 启动画面 logo 修改自定义 Office/Visio/Project 安装与激活教程 - 适用于各种版本/正版/非正版 CentOS 安装运行 Hentai@Home 教程 自搭建全平台私有密码库 bitwarden & Vaultwarden 如何在不移动本地文件的情况下用 OneDrive 客户端将文件上传至 OneDrive —— 利用 mklink 软链接上传文件 Linux 如何使用密钥对连接 SSH 并关闭密码连接
[下载]那些超级有用的美术技法教程书[资源]攻壳机动队系列蓝光收藏指南Netch-可替代 SSTap 的开源游戏加速器2021 甲骨文云 Oracle Always Free 永久免费 VPS 服务器 | 介绍/注册/申请/部署/连接/注意事项APlayer & MetingJS 音乐播放器使用指南WordPress 建站日志
阿里云同账号迁移服务器教程 索尼a6300说明书帮助指南PDF版下载 用 VS Code 配置 C/C++ 开发环境 如何在不移动本地文件的情况下用 OneDrive 客户端将文件上传至 OneDrive —— 利用 mklink 软链接上传文件 Linux 如何使用密钥对连接 SSH 并关闭密码连接 精粤 h610i 主板 BIOS 启动画面 logo 修改自定义
标签聚合
Windows ssh 资源 CentOS ssr 游戏 oracle 绘画 白嫖 甲骨文 VPS 动漫 Office 日期与时间 教程 Wordpress 建站 Ubuntu Linux 免费
关于本站

Otto 不知道该说些什么,于是写了这么一行字……

目录 隐藏
1. 说明
2. 给文章添加涂黑可以刮开的文字效果
3. 为 WordPress 添加 \LaTeX 数学公式显示功能
4. 为 WordPress 添加 \LaTeX 数学公式显示功能 - 2
5. 怎样输入文(wén)字(zì)拼(pīn)音(yīn)
6. 怎样输入文(wén)字(zì)拼(pīn)音(yīn) - 2

COPYRIGHT © 2022 OttoLi. ALL RIGHTS RESERVED.SITEMAP

THEME KRATOS 豫ICP备20004659号 萌ICP备20210150号

腾讯云  LiteServer  Google Analytics  CloudFlare