zoukankan      html  css  js  c++  java
  • WordPress插件制作教程(六): 插件函数之动作(Actions)函数

    这一篇为大家说一下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

  • 相关阅读:
    从Java角度理解Angular之入门篇:npm, yarn, Angular CLI
    大数据开发实战:Stream SQL实时开发一
    大数据开发实战:Spark Streaming流计算开发
    大数据开发实战:Storm流计算开发
    大数据开发实战:Hadoop数据仓库开发实战
    数据仓库中的拉链表
    java通过jdbc连接impala
    impala-shell常用命令
    Kudu-java数据库简单操作
    拉链表--实现、更新及回滚的具体实现( 转载)
  • 原文地址:https://www.cnblogs.com/fxmbz/p/4061803.html
Copyright © 2011-2022 走看看