WordPress插件开发-创建、停用、删除插件

插件存放目录

wp-content/plugins

创建一个插件

在plugins创建一个文件插件文件夹,命名最好加前缀,这个前缀可以使用你的名字或者你自己的域名,防止插件和别人重名,再创建一个PHP文件名字和你的插件名一样。
我这里创建一个名为 yg-footer-copyright 的插件。

让WordPress识别我们的插件

创建了插件后WordPress后台并不能识别到我们的插件,那是因为我们没按照他的标准写插件信息。

在你插件入口 yg-footer-copyright.php 文件头部写入插件信息。

<?php
/*
Plugin Name: 插件名称
Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
Description: 插件的简单描述
Version: 插件版本号, 例如: 1.0
Author: 插件作者
Author URI: http://URI_Of_The_Plugin_Author作者地址
*/
?>

这时再去看WordPress后台就能看到你创建的插件了。

插件启用时调用方法

通过 register_activation_hook 这个方法可以添加插件启用时回调。

官方文档:https://codex.wordpress.org/F...

function ygcopyright_install() {update_option("yg-copyright","<p>版权信息</p>");
}
//启用插件时调用的方法
register_activation_hook( __FILE__, 'ygcopyright_install' );

这里我们在启动时在option表中新增一个yg-copyright字段。

插件停用时调用方法

通过 register_deactivation_hook 这个方法可以添加插件停用时回调。

官方文档:https://codex.wordpress.org/F...

function ygcopyright_stop(){update_option("yg-copyright","yes");
} 
//停用插件时的方法
register_deactivation_hook( __FILE__, 'ygcopyright_stop' );

这里我们在停用时把option表中yg-copyright字段改为yes。

插件删除时操作

当插件被删除时默认会在插件目录下找 uninstall.php 文件,并调用里面的方法。

<?php
//判断是不是从WordPress后台调用的
if(!defined("WP_UNINSTALL_PLUGIN"))
exit();delete_option("yg-copyright");
?>

这里我们最好在uninstall.php 文件头添加判断是否是WordPress后台调用的,防止别人直接调用这文件,把插件删除。
这里我们在停用时把option表中yg-copyright字段删除。

如果有什么问题欢迎留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452447.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在eclipse中使用hadoop插件

我的配置环境看我的上篇博文。 配置过程&#xff1a; &#xff08;1&#xff09;把插件放到eclipse/plugins目录下。&#xff08;我的版本上一篇也有&#xff09; &#xff08;3&#xff09;重启eclipse&#xff0c;配置Hadoop installation directory 如果插件安装成功&#…

从程序员到技术领导者

入行 你为什么要当程序员&#xff1f;每当我问起很多人入行的人&#xff0c;回答各不相同。 有很多人是因为喜欢。谁说过&#xff1a;热爱是最好的老师。当然&#xff0c;关键是热爱是否能支撑自己把爱好做成一份职业。但不论做多久&#xff0c;因为热爱或曾经热爱&#xff0…

黑盒测试和白盒测试

黑盒测试&#xff08;又称功能测试&#xff09;把程序看作一个黑盒子&#xff0c;完全不考虑程序的内部结构和处理过程。黑盒测试是在程序接口进行的测试&#xff0c;只检查程序功能是否能按照规格说明书的规定正常使用&#xff0c;程序是否能适当地接收输入数据并产生正确的输…

Diango博客--11.Nginx + Gunicorn + Supervisor 方式部署

文章目录0.部署前准备1.创建一个超级用户2.更新 SQLite33.安装 Python3 、pip3.6以及 Pipenv4.部署代码5.使用 Gunicorn6.启动 Nginx 服务器7.配置 Nginx8.关闭 DEBUG 模式&#xff0c;收集静态文件9.使用 Supervisor管理 Gunicorn 进程10.使用 CDN 加快 Bootstrap 和 jQuery 的…

计算机更改了用户名数据恢复,怎么把电脑更换用户后恢復到原来的用户呢?

如何让administrator帐户出现在登陆画面&#xff1f;安装Windows XP时&#xff0c;如果设置了一个管理员账户&#xff0c;那么系统内置没有密码保护的Administrator管理员账户是不会出现在用户登录列表中的。虽然它身在幕后&#xff0c;可却拥有系统最高权限&#xff0c;为了方…

StringBuilder类

1.1 StringBuilder类概述StringBuilder:是一个可变的字符串。字符串缓冲区类。 String和StringBuilder的区别&#xff1a;String的内容是固定的StringBuilder的内容是可变的1.1.1 拼接字符串耗费内存原因:每次拼接都会产生新的字符串对象,而利用StringBuilder来拼接字符串自始至…

如何使用搜索技巧来成为一名高效的程序员

没有人是完全独立的孤岛&#xff0c;每个人都是整体的一部分。—— 约翰多恩对于缺乏编程知识的人来说&#xff0c;完全有可能编写一个网页或小程序。如果在用Google搜索相关示例时幸运的话&#xff0c;可以搜到现成的代码。即使是经验丰富的程序员&#xff0c;通常也会为了节省…

电开大计算机应用基础作业,2016年电大-电大计算机应用基础作业 答案.doc

2016年电大-电大计算机应用基础作业 答案计算机作业2单项选择题&#xff1a;第1题:在Word中编辑文本时&#xff0c;编辑区显示的“水印”在打印时( )出现在纸上。(2分)A、不会B、全部C、一部分D、大部分第2题:Word文档以文件形式存放于磁盘中&#xff0c;其默认的文件扩展名为(…

软件测试的步骤

大型软件系统的测试过程基本上由模块测试、子系统测试、系统测试、验收测试和平行运行等五个步骤组成。 1.模块测试 在设计得好的软件系统中&#xff0c;每个模块完成一个清晰定义的子功能&#xff0c;而且这个子功能和同级其他模块的功能之间没有相互依赖关系。因此&#xff…

linux系统优化思路

文章目录一. 影响linux性能的因素1.系统硬件资源2.操作系统相关资源3.应用程序软件资源二. 分析系统性能涉及的人员1.Linux运维人员2.系统架构设计人员3.软件开发人员三. 系统性能分析工具四.思路总结一. 影响linux性能的因素 1.系统硬件资源 1&#xff09;cpu 2&#xff09;…

递归锁

from threading import Thread,RLock import timemutexAmutexBRLock()#一个线程拿到锁&#xff0c;counter加1,该线程内又碰到加锁的情况&#xff0c;则counter继续加1&#xff0c; #这期间所有其他线程都只能等待&#xff0c;等待该线程释放所有锁&#xff0c;即counter递减到…

UI体系的本质是结构化存在

UI体系的本质是结构化存在&#xff1b; UI系统的问题需要使用结构化的思维来处理。

什么是视图

视图是存储在数据库中的查询的SQL 语句&#xff0c;它主要出于两种原因&#xff1a;安全原因&#xff0c; 视图可以隐藏一些数据&#xff0c;如&#xff1a;社会保险基金表&#xff0c;可以用视图只显示姓名&#xff0c;地址&#xff0c;而不显示社会保险号和工资数等&#xff…

30分钟,让你成为一个更好的程序员

我相信激励是非常重要的。这也是为什么我常常把时间管理&#xff08;这些书激励我不管改进我的时间管理方法&#xff09;的书和软件开发拿出来看看。我最近刚看完一本 书&#xff0c;“Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman”。这本书推动我…

如何启用计算机的远程服务,远程桌面服务,教您怎么打开远程桌面服务

远程桌面可以通过控制另一台电脑的功能&#xff0c;让网络管理员可以在家中安全的控制单位的服务器&#xff0c;而且这个功能是系统内置的&#xff0c;所以比使用其他第三方的远程控制工具更方便。那么我的重点来了&#xff0c;我今天就教你们怎么打开桌面远程服务&#xff0c;…

pipenv相关指令

pip install pipenv 安装pipenv pipenv install 创建虚拟环境 &#xff08;项目根目录下&#xff09; pipenv shell     进入虚拟环境&#xff08;如果不存在&#xff0c;则创建并进入虚拟环境&#xff09; pipenv install flask   安装模块 pipenv uninstall flask 卸…

简易多线程爬虫框架

本文首发于知乎 本文使用多线程实现一个简易爬虫框架&#xff0c;让我们只需要关注网页的解析&#xff0c;不用自己设置多线程、队列等事情。调用形式类似scrapy&#xff0c;而诸多功能还不完善&#xff0c;因此称为简易爬虫框架。 这个框架实现了Spider类&#xff0c;让我们只…

【小松教你手游开发】【unity实用技能】给每个GameObject的打开关闭加上一个渐变...

在游戏开发中&#xff0c;经常会因为直接将GameObject&#xff0c;setActive的方式打开关闭&#xff0c;这种方式效果太过生硬而给它加上一个Tween 可能是AlphaTween或者ScaleTween。 再加上一个PlayTween来做控制。 这样子需要在每个GameObject上加上这几个Component不说&…

静态网页和动态网页

静态网页是指不应用程序而直接或间接制作成html的网页&#xff0c;这种网页的内容是固定的&#xff0c;修改和更新都必须要通过专用的网页制作工具&#xff0c;比如Dreamweaver。动态网页是指使用网页脚本语言&#xff0c;比如php、asp、asp.net等&#xff0c;通过脚本将网站内…

在微型计算机中 如果电源突然中断,微型计算机在工作中电源突然中断,则其中的信息全部丢失,再次通电后也不能恢复的..._考试资料网...

请根据下面的文字材料&#xff0c;完成一节课的教学设计。 丝绸之路 一座古朴典雅的“丝绸之路”巨型石雕&#xff0c;矗立在西安市玉祥门外。那驮着彩绸的一峰峰骆驼&#xff0c;高鼻凹眼的西域商人&#xff0c;精神饱满&#xff0c;栩栩如生。商人们在这个东方大都市开了眼界…