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. Bluefish

    Bluefish标榜其自身是“一款为熟练的Web设计员和程序员而设的编辑器,但它的UI却很直观,任何初学者都能够很快上手,并在不断地积累中发现和掌握它的其它功能.   Bluefish标榜其自身是“一 ...

  2. Java项目接入阿里云OSS存储

    需求背景 目前公司内部项目所支持的文件云存储方式还是公司内部项目组提供的方案,但在时间的考验之下,弊端显现,尤其是灾备切换过程中需要切换访问地址,这种操作不方便,更可能因为中间过程的失误导致资源不可用 ...

  3. 定时任务-Timer

    Timer类的全限定名 java.util.Timer java.util.Timer类的构造函数 public Timer(); public Timer(boolean isDaemon); pu ...

  4. poj3046

    dp,可以再优化. #include <iostream> #include <cstdio> #include <cstring> using namespace ...

  5. mysql命令行执行时不输出列名(字段名)

    -N 即可 如:mysql -N -e "select * from test" 摘自:http://blog.csdn.net/eroswang/article/details/ ...

  6. Linux中配置系统参数

    [root@localhost ~]# vim /etc/security/limits.conf root soft nofile 65535root hard nofile 65535* soft ...

  7. codeforces Gym 100338C Important Roads (重建最短路图)

    正反两次最短路用于判断边是不是最短路上的边,把最短路径上的边取出来建图.然后求割边.注意重边,和卡spfa. 正权,好好的dijkstra不用,用什么spfa? #include<bits/st ...

  8. 三、绘图和可视化之matplotlib

    #matplotlib简单绘图之plot import matplotlib.pyplot as plt a=[1,2,3] b=[10,2,30] plt.plot(a)#纵坐标为a的值,横坐标为a ...

  9. Luogu P1080国王游戏(贪心)

    国王游戏 题目链接:国王游戏 ps:题目数据说明了要写高精度. 这个题的答案是\(a.l * a.r < b.l * b.r\)按照这个进行排序 题解中大部分只是如何证明排序是: \(a.l * ...

  10. nginx + 一个端口 部署多个单页应用(history模式)

    目前web开发 使用一般前后端分离技术,并且前端负责路由.为了美观,会采用前端会采用h5 history 模式的路由.但刷新页面时,前端真的会按照假路由去后端寻找文件.此时,后端必须返回index(i ...