1、什么是WordPress插件?

WordPress有三大组件:核心、主题、插件。

插件是扩展了WordPress核心功能的代码包。WordPress插件由PHP代码和其他资源(如图像,CSS和JS)组成。WordPress插件可以像你需要的一样简单或复杂,取决于你想要做什么。最简单的插件是一个单一的PHP文件。通过制作自己的插件,你可以在不接触WordPress核心的情况下扩展WordPress的功能。

2、如何创建插件?

创建插件的步骤:

浏览到你的安装的WordPress目录下的wp-content目录;

打开plugins目录;创建一个新的目录并命名(例如命名为plugin-name);

打开你的新插件目录;

创建一个新的PHP文件(例如plugin-name.php);

接下来编辑plugin-name.php文件,你需要为它添加一个插件头注释,这是一个特殊格式的PHP块注释,其中包含有关您的插件的元数据,例如名称和作者。至少,插件头注释必须包含您的插件的名称。插件文件夹中只有一个文件应该有头注释 – 如果你的插件有多个PHP文件,那么只有其中一个文件应该有注释。

<?php
/*
Plugin Name: YOUR PLUGIN NAME
*/
头注释至少要包含插件名称,插件头注释的一般格式为:
<?php
/*
Plugin Name:  WordPress.org Plugin
Description:  Basic WordPress Plugin Header Comment
Version:      20160911
Author:       WordPress.org
License:      GPL2
Text Domain:  wporg
Domain Path:  /languages
*/

插件的文件夹结构:

/plugin-name
plugin-name.php
uninstall.php
/languages
/includes
/admin
/js
/css
/images
/public
/js
/css
/images

保存文件后,登录到你的WordPress网站,并点击WordPress管理员的左侧导航窗格中plugin,此页面显示了您的WordPress网站所有插件的列表。你的新插件现在应该在这个列表中!

WordPress还提供了许多API,这些API可以大大简化您需要在插件中编写的代码。

3、插件是如何被WordPress加载的?

当WordPress在后台插件页面上加载已安装的插件列表时,它将搜索plugins文件夹(及其子文件夹),以查找带有WordPress插件标题注释的PHP文件。

4、插件的分享

有时您创建的插件仅用于您的网站,但很多人喜欢与WordPress社区的其他人分享他们的插件。在分享你的插件之前,你需要做的是选择一个许可证,为了保持与WordPress核心的兼容性,建议选择适用于GNU通用公共许可证(GPLv2 +)的许可证。

然后你需要在https://login.wordpress.org/注册一个有效的电子邮箱,并且将wordpress@login.wordpress.org添加到你的邮箱白名单中,不然会被当作垃圾邮件处理,你将不能正常收到WordPress发给你的邮件。

如果你代表公司提交插件,请使用公司官方电子邮箱进行验证,插件的审查时间需要1到10天的时间,具体要取决于插件的复杂程度。

详见https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/

参阅WordPress插件手册:https://developer.wordpress.org/plugins/

5、插件的优势

不用修改wordpress核心代码,防止更新版本导致功能失效;

任何主题都可以使用;

使用者无需关心插件如何实现,直接安装即可。

6、插件的加载?

插件加载是在模板加载之前。

学习笔记4——WordPress插件介绍的更多相关文章

  1. MAVEN学习笔记之Maven插件的应用(4)

    MAVEN学习笔记之Maven插件的应用(4) <build> <pluginManagement> <plugins> <plugin> <gr ...

  2. Python学习笔记—Python基础1 介绍、发展史、安装、基本语法

    第一周学习笔记: 一.Python介绍      1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  3. bootstrap 学习笔记(1)---介绍bootstrap和栅格系统

    学习前端许久,对于布置框架和响应浏览器用html 和javascript 写的有点繁琐,无意间看到这个框架,觉得挺好用的就开始学习了,但是这个框架上面有很多知识,不是所有的都要学的,故将学习笔记和觉得 ...

  4. 《精通并发与Netty》学习笔记(01 - netty介绍及环境搭建)

    一.Netty介绍     Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序.     ...

  5. [原创]java WEB学习笔记43:jstl 介绍,core库详解:表达式操作,流程控制,迭代操作,url操作

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  6. 微信小程序学习笔记一 小程序介绍 & 前置知识

    微信小程序学习笔记一 1. 什么是小程序? 2017年度百度百科十大热词之一 微信小程序, 简称小程序, 英文名 Mini Program, 是一种不需要下载安装即可使用的应用 ( 张小龙对其的定义是 ...

  7. 【miscellaneous】 GStreamer应用开发手册学习笔记之基础概念介绍

    第3章. 基础概念介绍 本章将介绍GStreamer的基本概念. 理解这些概念对于你后续的学习非常重要,因为后续深入的讲解我们都假定你已经完全理解了这些概念. 3.1. 元件(Elements) 元件 ...

  8. Maven学习(九)插件介绍

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的.进一步说,每个任务对应了 ...

  9. JavaScript学习笔记- 自定义滚动条插件

    此滚动条仅支持竖向(Y轴) 一.Css /*这里是让用户鼠标在里面不能选中文字,避免拖动的时候出错*/ body { -moz-user-select: none; /*火狐*/ -webkit-us ...

随机推荐

  1. sql server技巧

    --查出数据最新的存储过程select name,modify_date from sys.procedures where modify_date>'2017-05-26 17:21:09.3 ...

  2. java设计模式--建造模式

    建造模式 建造模式属于对象创建型模式,建造模式的目的为将复杂对象的构建过程与其部件实现方式分离,使得同样的构建过程可以有不同的表示,同时相同的构建过程也能够适用于不同的部件实现方式. 建造模式的适用性 ...

  3. let和const注意点

    let 一.块级作用域 下面的代码如果使用var,最后输出的是10. var a = []; for (var i = 0; i < 10; i++) { a[i] = function () ...

  4. P1791 线段覆盖

    题目描述 已知数轴上0<N<10000条线段.每条线段按照端点Ai和Bi(Ai<>Bi,i=1..N)定义.端点坐标在(-999,999)内,坐标为整数.有些线段可能相交.编程 ...

  5. java代码(生成日历时间)

    package test; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; p ...

  6. npm install -g cnpm --registry=https://registry.npm.taobao.org

    npm install -g cnpm --registry=https://registry.npm.taobao.org

  7. 搭建一个入门springboot工程

    springboot工程搭建(入门案例) 第一步:创建maven工程 第二步:设置项目信息 第三步:默认项目名称,不用改动(第二步已填写)  第三步:在pom.xml中导入依赖 SpringBoot要 ...

  8. Difference between x:Reference and x:Name

    {x:Reference ...} -> returns just a reference of an object it doesn't create that "bridge&qu ...

  9. 2019的hdu暑假作业(欢迎纠错)

    1219 遍历计数. #include<bits/stdc++.h> #define QAQ 0 using namespace std; ]; ]; int main(){ )){ me ...

  10. ES6新增"Promise"可避免回调地狱

    Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. 那就new一个 var p = new Promise( ...