在WordPress站点中本地部署MathJax以显示数学公式并增加对Markdown语法的支持

操作环境

服务器操作系统:Linux (出于安全考虑,不注明具体版本)
Web应用:WordPress (出于安全考虑,不注明具体版本)

背景说明

如果网站以二级域名的形式挂靠在 wordpress.com 上面,则默认就支持插入数学公式,插入的数学公式经过渲染之后会以图片的方式显示在前台页面。但是,如果网站是使用 WordPress 程序自己部署的,默认就没有渲染数学公式的功能。这个时候,我们可以选择安装相关插件达到插入以及显示数学公式的目的,我之前就是使用一款插件来显示数学公式的。但是,我后来发现这个插件已经很长时间不更新了,使用长期不更新的插件不仅会产生兼容性问题,还会带来安全隐患,因此,我决定不再使用插件而是使用 MathJax 渲染数学公式。

MathJax 是一个用 JavaScript 编写的工具,能够将 MathML, TeX, 或者 ASCIImath 格式的输入信息渲染成 HTML+CSS, SVG, 或者 MathML 格式的输出。也就是说,MathJax 可以把 TeX 语法渲染成能够在 Web 前端显示的格式,因此,我们可以使用 MathJax 在 WordPress 站点中渲染并显示数学公式。从 MathJax 官网提供的信息我们可以看到,MathJax 并没有提到可以支持 Markdown 语法,不过,由于我写数学公式通常都是使用的 Markdown 语法,因此,本文中还会介绍如何让 MathJax 支持 Markdown 语法,从而实现使用 Markdown 语法编写的数学公式直接复制到 WordPress 编辑器中就可以直接显示在前端页面。

MathJax 可以下载下来在本地部署,也可以直接使用 MathJax 提供的 CDN 部署,由于 MathJax 是在客户端运行的,因此,通常情况下,添加 MathJax 并不会为站点带来特别严重的安全隐患。

继续阅读“在WordPress站点中本地部署MathJax以显示数学公式并增加对Markdown语法的支持”

使用MySQL命令批量开启或关闭WordPress站点的评论功能

操作环境

服务器操作系统:Linux
数据库:MySQL
Web应用:WordPress

操作说明

WordPress 本身并没有提供批量设置评论功能开启或关闭的操作,因此,想要批量开启或关闭评论功能只能通过修改数据库中相关字段的方式来实现。

继续阅读“使用MySQL命令批量开启或关闭WordPress站点的评论功能”

WordPress开发:add_filter和apply_filters过滤器钩子

1 操作环境

操作系统信息:

master@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:    18.04
Codename:    bionic

WordPress 信息:

主程序版本:WordPress 5.3.2
主题及版本:Twenty Sixteen(版本:2.0, 由WordPress团队开发)

2 本文概要

本文主要介绍 WprdPress 平台中提供的两个过滤器钩子:

  • add_filter
  • apply_filters

简单地说,add_filter 是添加过滤器钩子的函数(过滤器添加钩子),而 apply_filters 是应用过滤器钩子的函数(过滤器应用钩子)。

为了辅助理解,本文中还会展示一些关于这两个过滤器钩子的使用样例。

继续阅读“WordPress开发:add_filter和apply_filters过滤器钩子”

WordPress开发:实现过滤包含恶意代码的危险评论的插件

操作环境

操作系统信息:

master@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:    18.04
Codename:    bionic

WordPress 信息:

主程序版本:WordPress 5.3.2
主题及版本:Twenty Sixteen(版本:2.0, 由WordPress团队开发)

需求分析

运行在公网中的 WordPress 站点极易遭受 SQL 注入攻击以及 XSS 跨站脚本攻击等。即便是一个不开放用户注册功能的个人博客,也存在攻击切入点,例如评论框。目前版本的 WordPress (WordPress 5.3.2) 本身并不会把可能包含恶意代码的评论删除,在 WordPress 没有被暴露出漏洞的时候,这么做可能并没有什么问题,但是一旦被发现存在漏洞,那么允许包含恶意代码的数据存入数据库就会变得很危险。因此,我的需求就是,一旦评论中被检测到存在可能的恶意代码,就要把该评论删除,同时,用一条表达警示信息的预置标准评论代替该评论,从而使得任何可能包含恶意代码的评论都不被写入数据库,最大程度地防范 SQL 注入攻击和 XSS 跨站脚本攻击等。

继续阅读“WordPress开发:实现过滤包含恶意代码的危险评论的插件”

WordPress开发:WordPress插件的时区设置及样例

操作环境

操作系统信息:

master@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:    xenial

WordPress 信息:

主程序版本:WordPress 5.3.2
主题及版本:Twenty Sixteen(版本:2.0, 由WordPress团队开发)

继续阅读“WordPress开发:WordPress插件的时区设置及样例”

WordPress开发:WordPress动作钩子add_action参数解析

操作环境

操作系统信息:

master@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:    xenial

WordPress 信息:

主程序版本:WordPress 5.3.2
主题及版本:Twenty Sixteen(版本:2.0, 由WordPress团队开发)

add_action 函数使用形式

<?php add_action( string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1 ); ?>
继续阅读“WordPress开发:WordPress动作钩子add_action参数解析”

WordPress开发:一个动作钩子可以挂载多个动作,以wp_footer钩子为例

操作背景

操作系统信息:

master@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:    xenial

WordPress 信息:

主程序版本:WordPress 5.3.2
主题及版本:Twenty Sixteen(版本:2.0, 由WordPress团队开发)

准备工作

在「荒原之梦」之前文章《WordPress开发:WordPress动作钩子之add_action和do_action使用样例》中,提到了 add_actiondo_action 两个动作钩子,以及 WordPress 页脚钩子 wp_footer, 本文将在《WordPress开发:WordPress动作钩子之add_action和do_action使用样例》这篇文章的基础上,通过补充一些代码的方式,说明在一个动作钩子上挂载多个动作的实现方式。

继续阅读“WordPress开发:一个动作钩子可以挂载多个动作,以wp_footer钩子为例”

WordPress开发:WordPress动作钩子之add_action和do_action使用样例

操作环境

操作系统信息:

master@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:    xenial

WordPress 信息:

主程序版本:WordPress 5.3.2
主题及版本:Twenty Sixteen(版本:2.0, 由WordPress团队开发)

需求分析

在本文的样例中,我们需要实现一个在 WordPress 页脚添加联系信息的插件。具体要求如下:

  • 插件启动时将硬编码进插件代码中的联系信息(一个邮箱地址)写入数据库;
  • 之后,从数据库中取出该联系信息,显示到 WordPress 页脚的位置;
  • 插件卸载时能够自动清除之前写入到数据库中的数据。
继续阅读“WordPress开发:WordPress动作钩子之add_action和do_action使用样例”

WordPress插件开发:实现插件的注册,注销和卸载

操作环境

操作系统信息:

master@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:    xenial

WordPress 信息:

主程序版本:WordPress 5.3.2
主题及版本:Twenty Sixteen(版本:2.0, 由WordPress团队开发)

继续阅读“WordPress插件开发:实现插件的注册,注销和卸载”

通过插入断点显示WordPress当前已激活的插件

操作环境

操作系统信息:

master@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:    xenial

WordPress 信息:
主程序版本:WordPress 5.3.2
主题及版本:Twenty Sixteen(版本:2.0, 由 WordPress 团队开发)

下面的内容涉及 WordPress 文件调用顺序的问题,关于这部分内容可以参考「荒原之梦」的这篇文章:

WordPress文件调用加载顺序(含矢量示意图)

继续阅读“通过插入断点显示WordPress当前已激活的插件”

WordPress文件调用加载顺序(含矢量示意图)

操作环境

操作系统信息:

master@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:    xenial

WordPress 信息:

主程序版本:WordPress 5.3.2
主题及版本:Twenty Sixteen(版本:2.0, 由 WordPress 团队开发)

继续阅读“WordPress文件调用加载顺序(含矢量示意图)”

WordPress开发必备:WordPress5.3.*函数大全[6/6]

说明

【WordPress5.3.*函数大全系列】包含 WordPress 在其开发者资源网公布的 WordPress 5.3. 的全部函数,一共 1470 个。

由于将这些内容全部放在一篇文章中会超出 WordPress 的限制,也会在加载过程中对【荒原之梦】的数据库造成产生较大的负荷,因此,我将这 1470 个函数分列到了 6 篇文章中,如下:

WordPress开发必备:WordPress5.3.*函数大全[1/6]
WordPress开发必备:WordPress5.3.*函数大全[2/6]
WordPress开发必备:WordPress5.3.*函数大全[3/6]
WordPress开发必备:WordPress5.3.*函数大全[4/6]
WordPress开发必备:WordPress5.3.*函数大全[5/6]
WordPress开发必备:WordPress5.3.*函数大全[6/6]

您也可以在我的 GitHub 上找到【WordPress开发必备:WordPress5.3.*函数大全】等 WordPress 开发资料:

https://github.com/zhaokaifengcom/wordpress-develop

本文中的函数对应于 WordPress 5.3.* 版主程序,此前及此后的版本中一些常用函数的变化通常不会太大,也可以参考本系列文章列出的函数。

继续阅读“WordPress开发必备:WordPress5.3.*函数大全[6/6]”

WordPress开发必备:WordPress5.3.*函数大全[5/6]

说明

【WordPress5.3.*函数大全系列】包含 WordPress 在其开发者资源网公布的 WordPress 5.3. 的全部函数,一共 1470 个。

由于将这些内容全部放在一篇文章中会超出 WordPress 的限制,也会在加载过程中对【荒原之梦】的数据库造成产生较大的负荷,因此,我将这 1470 个函数分列到了 6 篇文章中,如下:

WordPress开发必备:WordPress5.3.*函数大全[1/6]
WordPress开发必备:WordPress5.3.*函数大全[2/6]
WordPress开发必备:WordPress5.3.*函数大全[3/6]
WordPress开发必备:WordPress5.3.*函数大全[4/6]
WordPress开发必备:WordPress5.3.*函数大全[5/6]
WordPress开发必备:WordPress5.3.*函数大全[6/6]

您也可以在我的 GitHub 上找到【WordPress开发必备:WordPress5.3.*函数大全】等 WordPress 开发资料:

https://github.com/zhaokaifengcom/wordpress-develop

本文中的函数对应于 WordPress 5.3.* 版主程序,此前及此后的版本中一些常用函数的变化通常不会太大,也可以参考本系列文章列出的函数。

继续阅读“WordPress开发必备:WordPress5.3.*函数大全[5/6]”

WordPress开发必备:WordPress5.3.*函数大全[4/6]

说明

【WordPress5.3.*函数大全系列】包含 WordPress 在其开发者资源网公布的 WordPress 5.3. 的全部函数,一共 1470 个。

由于将这些内容全部放在一篇文章中会超出 WordPress 的限制,也会在加载过程中对【荒原之梦】的数据库造成产生较大的负荷,因此,我将这 1470 个函数分列到了 6 篇文章中,如下:

WordPress开发必备:WordPress5.3.*函数大全[1/6]
WordPress开发必备:WordPress5.3.*函数大全[2/6]
WordPress开发必备:WordPress5.3.*函数大全[3/6]
WordPress开发必备:WordPress5.3.*函数大全[4/6]
WordPress开发必备:WordPress5.3.*函数大全[5/6]
WordPress开发必备:WordPress5.3.*函数大全[6/6]

您也可以在我的 GitHub 上找到【WordPress开发必备:WordPress5.3.*函数大全】等 WordPress 开发资料:

https://github.com/zhaokaifengcom/wordpress-develop

本文中的函数对应于 WordPress 5.3.* 版主程序,此前及此后的版本中一些常用函数的变化通常不会太大,也可以参考本系列文章列出的函数。

继续阅读“WordPress开发必备:WordPress5.3.*函数大全[4/6]”

荒原之梦网全部内容均为原创,提供了涵盖考研数学基础知识、考研数学真题、考研数学练习题和计算机科学等方面,大量精心研发的学习资源。

豫 ICP 备 17023611 号-1 | 公网安备 - 荒原之梦 豫公网安备 41142502000132 号 | SiteMap
Copyright © 2017-2024 ZhaoKaifeng.com 版权所有 All Rights Reserved.

Copyright © 2024   zhaokaifeng.com   All Rights Reserved.
豫ICP备17023611号-1
 豫公网安备41142502000132号

荒原之梦 自豪地采用WordPress