add_action( string $tag, callable $function_to_add, int $priority = 10,int $accepted_args = 1 )

官网是这么说的:在一个特定的动作上挂钩一个函数。

那么就有对应的执行这个特定动作的函数:

do_action( string $tag,  $arg = '' )

在我理解他有这麽一个好处,就是把多个不同运用的函数一起执行,进行输出。

add_filter( string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1 )

add_filter跟add_action类似,在一个特定的动作上挂钩一个方法或函数,主要的区别就是有返回值。通过官网的例子可以看出:

// Filter call.
$value = apply_filters( 'hook', $value, $arg2, $arg3 ); // Accepting zero/one arguments.
function example_callback() {
...
return 'some value';
}
add_filter( 'hook', 'example_callback' ); // Where $priority is default 10, $accepted_args is default 1. // Accepting two arguments (three possible).
function example_callback( $value, $arg2 ) {
...
return $maybe_modified_value;
}
add_filter( 'hook', 'example_callback', 10, 2 ); // Where $priority is 10, $accepted_args is 2.

添加静态方法:

add_filter( 'media_upload_newtab', array( 'My_Class', 'media_upload_callback' ) );

添加函数:

add_filter( 'media_upload_newtab', array( $this, 'media_upload_callback' ) );

传递的第二个参数也可以是一个闭包:

add_filter( 'the_title', function( $title ) { return '<strong>' . $title . '</strong>'; } );

与此对应的有apply_filter调用钩子上的 函数或方法

apply_filters( string $tag, mixed $value )

add_action与add_filter 主要的区别就是一个有返回值一个没有返回值。

apply_filter和do_action都是执行钩子上挂载的函数集。

wordpress中add_action和add_filter的更多相关文章

  1. 黄聪:WordPress 的 Hook 机制与原理(add_action、add_filter)

    稍有接触过 WordPress 主题或插件制作修改的朋友,对 WordPress 的Hook机制应该不陌生,但通常刚接触WordPress Hook 的新手,对其运作原理可能会有点混乱或模糊.本文针对 ...

  2. WordPress中函数钩子hook的作用及基本用法

    WordPress 的插件机制实际上只的就是这个 Hook 了,它中文被翻译成钩子,允许你参与 WordPress 核心的运行,是一个非常棒的东西,下面我们来详细了解一下它.钩子分类 钩子分为两种,一 ...

  3. wordpress中如何禁止或者屏蔽更新提示

    WordPress禁止,插件更新,主题更新,wordpress本身更新提示的方法 禁止wp更新 : open file "wordpress\wp-includes\update.php&q ...

  4. 如何在WordPress中使用七牛云存储

    序:七牛云存储可以方便的将网站的图片等数据镜像到七牛云存储的空间,直接从云端将数据返回给用户.这样可以大大节省网站的空间,提升网站的访问速度. 真正显示一键实现WordPress博客静态文件CDN加速 ...

  5. 关于wordpress中更换CKEditor编辑器

    wordpress中自带的编辑器实在是功能太简,连插入表格都没有,使用插件的方式太过于麻烦,干脆就直接更换编辑器了,在网上找了一些方法,下文引自http://down.chinaz.com/try/2 ...

  6. [项目推荐] Corcel 让你在 WordPress 中使用 Laravel

    你想过可以在 WordPress 中使用 Laravel 或者任意一种 PHP 框架吗? Corcel 可以帮你实现! 开发网站应用就应该是快捷并有趣的.当然了,每个应用都会有它自己的需求和生命周期. ...

  7. Wordpress中文章的特色图像Featured Image究竟存在哪里?

    最近项目需要,分析了一下Wordpress的特色图像 Feature Image的上传.保存方式,这一分析觉得Wordpress的数据结构设计还真是有想法. 先简单说一下结论: Wordpress中图 ...

  8. 解决WordPress中字符转义的问题

    wordpress中输入两个"--"的时候会识别成一个横杠,如果此时的文章中有代码在,那么其他人在复制粘贴的时候就没法使用,于是乎我寻找了三种有效的方法解决此问题! WordPre ...

  9. 什么是WebP以及如何在WordPress中使用WebP图像

    图像通常是缓慢加载网页的最大原因之一.它们不仅减慢了加载时间,而且还可以占用服务器上的大量空间和资源.仔细选择文件类型并压缩它们有助于降低加载速度,但它们只能在图像质量受损之前进行优化.另一种选择是使 ...

随机推荐

  1. Hive中使用Python实现Transform时遇到Broken pipe错误排查

    Hive中有一表,列分隔符为冒号(:),有一列utime是Timestamp格式,需要转成Weekday存到新表. 利用Python写一个Pipeline的Transform,weekday.py的代 ...

  2. OracleAWR删除历史快照说明

    测试时,发现无法产生新快照,查看系统时间为10月26,但是已经产生快照为12月1号了. 此时的解决办法,就是删除现有的快照. 转http://itlab.idcquan.com/Oracle/back ...

  3. python操作RabbitMQ(不错)

    一.rabbitmq RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列 ...

  4. (转)android平台下使用点九PNG技术

    “点九”是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png 智能手机中有自动横屏的功能,同一幅界面会在随着手机(或平板电脑)中的方向传感器的参数不同而改变显示的方向, ...

  5. Python--urllib3库

    Urllib3是一个功能强大,条理清晰,用于HTTP客户端的Python库,许多Python的原生系统已经开始使用urllib3.Urllib3提供了很多python标准库里所没有的重要特性:   1 ...

  6. FPGA市场潜力有几多?

    FPGA市场未来成长潜力 本文来源:DIGITIMES 2014年FPGA市场规模为52.7亿美元,据Green Mountain Outlook报导,研调机构Global Market Insigh ...

  7. php小算法总结一(数组重排,进制转换,二分查找)

    1.两个有序数组组合成一个新的有序数组 <?php $arr1=array(2,5,7,9,12); $arr2=array(3,4,6,8,10,11); function merge_sor ...

  8. [转载]交换机STP协议

    注:之前做一个项目,测试部使用2个公司的交换机,H3C和H公司的,H公司的交换机是OEM H3C的交换机,正常来说两者使用没有区别. 但是使用中发现,如果设备的多个对外业务网口连接的交换机的聚合网口, ...

  9. git 远程仓 和 本地仓 记录

    一.远程仓添加信息后 ,本地环境修改信息后,上传 远程仓 coding=utf-8 本地仓 coding=utf-8 本地仓同步后 会提示存在冲突: (其中 HEAD 是当前非支的意思,可以理解为当前 ...

  10. Java-Runoob:Java 条件语句

    ylbtech-Java-Runoob:Java 条件语句 1.返回顶部 1. Java 条件语句 - if...else 一个 if 语句包含一个布尔表达式和一条或多条语句. 语法 if 语句的语法 ...