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]”

WordPress开发必备:WordPress5.3.*函数大全[3/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.*函数大全[3/6]”

WordPress开发必备:WordPress5.3.*函数大全[2/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.*函数大全[2/6]”

WordPress开发必备:WordPress5.3.*函数大全[1/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.*函数大全[1/6]”

WordPress插件开发:一个入门Demo

操作环境

服务器操作系统:Ubuntu 16.04
Web 服务器:Apache2
WordPress 版本:5.3.2
WordPress 主题:Twenty Sixteen(版本:2.0)

项目说明

WordPress 支持以插件的方式扩展其功能。本文就编写一个 WordPress 插件的样例程序,介绍 WordPress 插件的头部格式并实现一个修改“继续阅读”标签显示的提示文字的功能。

继续阅读“WordPress插件开发:一个入门Demo”

解决 Python3 报错:AttributeError module ‘upyun’ has no attribute ‘UpYun’

操作背景

操作系统:Windows 7 中文家庭版 64 位

Python 版本:Python 3.6.8rc1

报错详情

我使用又拍云 API 和 Python 写了一个程序,该程序需要用到又拍云的 Python 模块 upyun. 但是,今天我将该程序复制到另一个文件夹下后,再运行却报错:

AttributeError: module 'upyun' has no attribute 'UpYun'
继续阅读“解决 Python3 报错:AttributeError module ‘upyun’ has no attribute ‘UpYun’”

Python 实现将文档文件中的同一种字符交替替换成不同的字符(0.1 版)

图 1. 符号约定,使用 https://carbon.now.sh 生成

如果图 1 显示不正常(由于对 SVG 格式的兼容性问题,在有些浏览器中会出现这种情况),你可以点击这里查看本文符号约定的 PNG 格式版

需求分析

最近我开始在博客上分享一些考研数学题的解题过程,因此,自然少不了要输入数学公式。我写文章的习惯是,首先,使用 Markdown 把文章写好,然后再复制到博客里发布,由于包括 WordPress 在内的许多博客平台都是支持 Markdown 的,因此这么做一直没有什么问题。

不过,在 Markdown 中输入数学公式的语法是类似这样的:

$\sqrt{2}$

可是,我在 WordPress 中使用的显示数学公式的插件要求的语法是类似这样的:

【latex】\sqrt{2}【/latex】

这样一来,每当我要在我的个人网站发布一篇带有数学公式的文章时,我都需要把一个公式两边的 “$” 分别替换成 “【latex】” 和 “【/latex】”.

手动替换很慢,所以我写了一段 Python 代码实现自动替换。

代码实现

注:以下代码在 Windows 10 中文家庭版 64 位系统下的 Python 3.7.0 环境中测试成功。

编写该程序需要注意的一点是必须实现对文件内容的逐字符读取和替换,如果是逐行读取替换的话,那么一次遍历就会把整行的所有 “$” 都替换成 “【latex】”, 不符合要求。

无注释版代码:

a=2  
with open(('1.md'), 'r',encoding='UTF-8') as f:
    for line in f:
        for ch in line:
            if ch=='$':
                if a % 2 == 0:
                    ch='【latex】'
                    a = a + 1
                elif a % 2 != 0:
                    ch = '【/latex】'
                    a = a + 1
            print (ch,end='')

有注释版代码:

a=2  
with open(('1.md'), 'r',encoding='UTF-8') as f:
# 读取 1.md 文件中的内容,可以读取中文。
    for line in f:
    # 遍历一行
        for ch in line:
        # 遍历一行中的每一个字符
            if ch=='$':
                if a % 2 == 0:
                # 如果 a 为偶数,把 $ 换成 【latex】
                    ch='【latex】'
                    a = a + 1
                    # 操作完成,改变 a 的值
                elif a % 2 != 0:
                # 如果 a 为奇数,把 $ 换成 【/latex】
                    ch = '【/latex】'
                    a = a + 1
                    # 操作完成,改变 a 的值
            print (ch,end='')
            # 输出本行的操作结果(end='' 保证了输出完一整行后再换行)

EOF


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

意见反馈 | 内容纠错 | 微信 | QQ | 公众号 | 知乎 | 微博 | 博客园 |CSDN | B 站 | 电子邮件
豫 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