wordpress中add_action和add_filter

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都是执行钩子上挂载的函数集。

时间: 2024-12-09 14:51:42

wordpress中add_action和add_filter的相关文章

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

稍有接触过 WordPress 主题或插件制作修改的朋友,对 WordPress 的Hook机制应该不陌生,但通常刚接触WordPress Hook 的新手,对其运作原理可能会有点混乱或模糊.本文针对 WordPress Hook 运作大致做个简单的说明,而预设读者是理解基本的 PHP function 语法及运作,但对 WordPress Hook 机制不是很明白. Hook机制里登场的角色 先从“登场角色”的个别说明开始: WordPress核心 指的是 WordPress 内建的程式码架构

黄聪:wordpress中remove_action、add_action、 do_action()的hook钩子都有哪些

原文地址:http://codex.wordpress.org/Plugin_API/Action_Reference muplugins_loaded After must-use plugins are loaded registered_taxonomy For category, post_tag, etc. registered_post_type For post, page, etc. plugins_loaded After active plugins and pluggabl

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

WordPress 的插件机制实际上只的就是这个 Hook 了,它中文被翻译成钩子,允许你参与 WordPress 核心的运行,是一个非常棒的东西,下面我们来详细了解一下它.钩子分类 钩子分为两种,一种叫做动作(action),还有一种叫做过滤器(filter).这两种钩子实现原理基本一样,后边会讲到,使用上的区别在于过滤器有返回值,而动作没有. 动作的理念是让你在一种情况或者一个特别的位置执行一些函数,比如发送一封邮件等:过滤器则是让你修改 WordPress 核心需要用到的一个值,然后 Wo

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

序:七牛云存储可以方便的将网站的图片等数据镜像到七牛云存储的空间,直接从云端将数据返回给用户.这样可以大大节省网站的空间,提升网站的访问速度. 真正显示一键实现WordPress博客静态文件CDN加速.下面主要介绍一下WordPress中七牛云存储插件的使用. 一.申请七牛云存储的账号 首先需要申请七牛云存储的账号,申请好后,点击创建空间,选择空间类型为公开空间,提交 二.配置空间 配置空间,点击一键加速网站. 镜像源填写自己网站域名.确认加速. 这里的robots.txt配置文件内容为: #

板邓:wordpress中wpdb类数据库增删改查操作

wordpress中wpdb可以轻松实现数据库的增删改查,wordpress开发者必须会用的类! 案例: 1.使用wpdb类插入自己创建的一个数据表(wp_person): global $wpdb; $data=array( 'denglu_id' => $_POST['denglu_id'], 'password' => $_POST['password'], 'user_name' => $_POST['user_name']); $wpdb->insert($wpdb-&g

wordpress中安装插件需要ftp服务怎么破

在初次搭建wordpress成功好,笔者想安装wordpress中有趣的插件时缺发现需要ftp服务 天真的笔者还真的搭建了一个ftp服务器,然后发现并没有什么卵用,这只是wordpress为了安 全而留下的坑,那么,怎么绕过这道程序呢.其实很简单,我们只需在wordpress根目录找到一个 wp-config.php,添加以下代码 define("FS_METHOD","direct"); define("FS_CHMOD_DIR", 0777)

辛星浅析WordPress中的别名

我们在使用WordPress的时候,通常都喜欢使用文章别名来作为固定连接,这个别名也就是slug  name,我们在编辑文章的时候,可以自定义文章的别名.当然,我们也可以在文章编辑页,点击某篇文章下的"快速编辑",也可以在这里编辑别名. 但是这个别名的获取,WordPress却没有提供方法.WordPress中提供了the_title()来获取文章标题,提供了the_permalink()来获取当前文章的链接,但是并没有提供获取文章别名的函数. 我们可以在主题目录的functions.

WordPress中.htaccess的使用技巧

有些用户可能还不知道.htaccess文件是什么,所以我们首先来说明一下htaccess的作用.在wordpress的根目录下,你会看到一 个名为.htaccess的文件,它可以是由系统创建.也可以是用户自己编辑而成的.它是Apache服务器中的一个配置文件,它负责相关目录下的网页配 置,对wordpress中实现永久链接(Permalink)至关重要.同时利用它,我们也可以实现:网页301重定向.自定义404错误页面.改变文 件扩展名.允许/阻止特定的用户或者目录的访问.禁止目录列表.配置默认

板邓:wordpress中add_filter和apply_filters函数用法

add_filter() 可以挂载一个函数到指定的过滤器上. 用法 add_filter( $tag, $function_to_add, $priority, $accepted_args ); 参数 $tag (字符串)(必须)所挂载的过滤器名字(和目标 apply_filters() 函数的 $tag 属性一样). 默认值:None $function_to_add (回调)(必须)要挂载的回调函数,参考 PHP 回调函数类型文档. 默认值:None $priority (整数)(可选)执