这一篇为大家说一下WordPress插件函数吧,要制作插件,了解这些函数是非常有必要的

WordPress插件函数分为“动作”(Actions)和过滤器”(Filters),WordPress 使用这种接口函数把插件挂接到系统中来,然后加以使用,这一篇主要是介绍下过滤器(Actions)函数。

动作 (Action)函数 是 WordPress 运行到某些环节,或者在某些事件发生时,就会被执行的一种hook(钩子)。任何的插件都可以通过动作接口来指示系统在遇到这些环节或者事件的时候,就执行指定的 PHP 函数。 是由 WordPress 内部的某些事件所触发的,比如说发表一篇文章、更换主题或者访问后台的某个管理界面,这些都是一件事件的例子。而插件则可以指定某些 PHP 函数来响应这些事件所触发的动作。例如:

  • 修改数据库数据
  • 发送电子邮件
  • 修改即将显示出来的内容

1.在插件代码中定义当某个事件发生时,需要执行的 PHP函数

例如:

//官方文档:http://codex.wordpress.org/Plugin_API/Action_Reference/admin_head

// 当wp后台的头部加载时,执行的 PHP函数 my_custom_admin_head
add_action('admin_head', 'my_custom_admin_head'); // 输出一个css样式,改变body的背景颜色
function my_custom_admin_head() {
echo '<style>body {background-color: #4AAF48 !important;}</style>';
}

注意:在插件内定义函数时,函数名称必须保持唯一性。

2.用add_action() 把这个函数注册到动作执行挂勾上

定义完动作响应函数之后,下一步就得把这个函数挂载(或者注册)到 WordPress 里面去。做法是在插件中调用 add_action() 函数,如下:

// add_action ('hook_name', 'your_function_name', [priority], [accepted_args] );
// 官方文档: http://codex.wordpress.org/Plugin_API/Action_Reference
// hook_name: (必要参数) WordPress 所提供的动作名,用于标识在哪个动作发生时,执行响应函数.
// your_function_name:(必要参数) 当动作 hook_name 发生时需要执行的响应函数的名字。可以是 PHP 标准的函数,或者是 WordPress 内置函数,或者是插件内自定义的函数,例如上述例子中的 my_custom_admin_head()
// priority: (可选参数),默认值为10。由于可以把多个函数注册到同一个动作,所以这个参于是用于指定注册到这个动作中的这个函数执行的优先级,数字越小优先 级越高,执行得也越早,反之亦然。如果若干个函数以相同的优先级注册到同一个动作,那么执行顺序则是由它们注册的先后顺序所决定。
// accepted_args: (可选参数),确认值是1。由于某些动作可能会把多个参数传给响应函数,所以这个有时候需要指定响应函数能接受多少个参数。这个参数是在 1.5.1 版加进去的。
// 通过这个函数我们就可以把上面的例子添加一个动作。例如上述例子中的 add_action('admin_head', 'my_custom_admin_head');

3.把插件源码文件放到 WordPress 插件目录,然后激活插件, 看看是否在wp后台头部加载时,输出了css样式改变了后台背景的颜色

WordPress动作(Actions)函数就为大家简单介绍一下。更多动作列表请参照官方文档:http://codex.wordpress.org/Plugin_API/Action_Reference

WordPress插件制作教程(六): 插件函数之动作(Actions)函数的更多相关文章

  1. WordPress插件制作教程(七): 插件函数之过滤器(Filter)函数

    上一篇对插件函数之动作(Action)函数做了下介绍,这篇在介绍下过滤器(Filters). 过滤器是一类函数,WordPress执行传递和处理数据的过程中,在针对这些数据做出某些动作之前的特定运行( ...

  2. WordPress插件制作教程概述

    接下来的一段时间里,开始为大家讲解WordPress插件制作系列教程,这篇主要是对WordPress插件的一些介绍和说明,还有一些我们需要注意的地方,以及需要掌握的知识. WordPress插件允许你 ...

  3. WordPress插件制作教程(八): 最后总结

    WordPress插件教程最后一篇,还是为大家简单的做下总结.这次插件制作教程讲的内容和知识点个人觉得不是很多,因为插件制作不单单是这些内容,它涉及的知识很多很多,不是说你会一些函数就可以做出一个好的 ...

  4. WordPress插件制作教程(一): 如何创建一个插件

    上一篇还是按照之前的教程流程,写了一篇WordPress插件制作教程概述,从这一篇开始就为大家具体讲解WordPress插件制作的内容.这一篇主要说一下插件的创建方法. 相信大家都知道插件的安装文件在 ...

  5. 【超酷超实用】CSS3可滑动跳转的分页插件制作教程

    原文:[超酷超实用]CSS3可滑动跳转的分页插件制作教程 今天我要向大家分享一款很特别的CSS3分页插件,这款分页插件不仅可以点击分页按钮来实现分页,而且可以滑动滑杆来实现任意页面的跳转,看看都非常酷 ...

  6. WordPress主题制作教程5:循环

    wordpress循环分两种,一种是自定义循环,一种是默认循环. 自定义循环:根据指定参数进行实例化 调用所有页面,post_type值:page对应页面,post对应文章 <?php $arg ...

  7. WordPress插件制作教程(五): 创建新的数据表

    上一篇讲解了怎样将数据保存到数据库,今天为大家讲解创建新的数据表,也就是说当我们激活插件的时候,会在该数据库下面创建一个新的数据表出来.原理很简单,激活插件的时候运行创建数据库的代码.看下面代码: & ...

  8. qlikview 扩展插件制作教程-EchartsGeoMap

    效果图   显示效果和echarts官方demo一样,运行速度尚可. 第一次写博客,排版很渣以后慢慢改进. 基础知识 以EchartsGeoMap为例,讲一下怎么制作一个基础的QlikView Ext ...

  9. WordPress主题制作教程[壹] - 了解WP&结构&索引

    最近开始筹备WordPress主题开发了.首先我们在此章节中进行了解什么是WP,以及WP的结构.通过这个文章索引到以后所写的WP系列教程. (抱歉,大家不要急,持续更新中....) 1.首先,我们来认 ...

随机推荐

  1. MongoDB资料--Java驱动, Hadoop驱动, Spark使用

    MongoDB数据库备份: mongodump -h 192.168.1.160 -d MapLoc -o /usr/local/myjar/mongo/MapLoc/数据库还原:mongoresto ...

  2. Scala学习笔记--Actor和并发

    感谢博主lyrebing  博文地址:http://blog.csdn.net/lyrebing/article/details/20446061 1.  Actor用法 1.1 Actor的基本使用 ...

  3. 将日期yyyy-MM-dd转为数字大写的形式

    /** * 将日期转大写 * 例如:2013-05-13转为 二0一三年五月十三日 * @param date * @return */ public static String getDxDate( ...

  4. python的工作记录B

    这次很强了.就差最后一步,判断一下SVN的版本是否是真的库里的. #!/usr/bin/env python # -*- coding: utf-8 -*- import os,sys,command ...

  5. TVS和一般的稳压二极管有什么区别

    电压及电流的瞬态干扰是造成电子电路及设备损坏的主要原因,常给人们带来无法估量的损失.这些干扰通常来自于电力设备的起停操作.交流电网的不稳定.雷击干扰及静电放电等,瞬态干扰几乎无处不在.无时不有,使人感 ...

  6. java decompiler如何去掉行号

    今天想反编译jar包保存源代码,默认前面加了行号,不知道这个小工具如何设置去掉行号? 反编译后: 找到它的安装路径,我的是:C:\Program Files\decomp.然后将该路径加入到环境变量p ...

  7. SSH转发机制

    第一部分 概述 当你在咖啡馆享受免费 WiFi 的时候,有没有想到可能有人正在窃取你的密码及隐私信息?当你发现实验室的防火墙阻止了你的网络应用端口,是不是有苦难言?来看看 SSH 的端口转发功能能给我 ...

  8. 管理Undo数据

    SQL> select sum(bytes),status from dba_undo_extents group by status; SUM(BYTES) STATUS ---------- ...

  9. ASP.NET文件组成(转载于Owen的BLOG)

    一.扩展名: .aspx:窗体文件,为前台程序. .cs文件:类文件,主要为后台数据处理,供所有的.aspx文件的后台应用. .asmx文件:用于创建从其他应用程序使用的web服务的类. .css文件 ...

  10. hdu5072(鞍山regional problem C):容斥,同色三角形模型

    现场过的第四多的题..当时没什么想法,回来学了下容斥,又听学长讲了一讲,终于把它过了 题目大意:给定n个数,求全部互质或者全部不互质的三元组的个数 先说一下同色三角形模型 n个点 每两个点连一条边(可 ...