标签:Hook

WordPress 插件机制的简单用法和原理(Hook 钩子)

WordPress 的插件机制实际上只的就是这个 Hook 了,它中文被翻译成钩子,允许你参与 WordPress 核心的运行,是一个非常棒的东西,下面我们来详细了解一下它。 PS:本文只是简单的总结一下,更多用法还是要参考文中给出的函数。 钩子分类 钩子分为两种,一种叫做动作(action),还有一种叫做过滤器(filter)。这两种钩子实现原理基本一样,后边会讲到,使用上的区别在于过滤器有返回…

WordPress 获取当前钩子列表

WordPress 的动作和过滤器是插件机制的核心部分,允许你在特定的地方主动添加自己需要执行的动作,一般使用 add_action() 和 add_filter() 函数挂载函数。 这些钩子被储存在 $wp_filter 全局变量里,所以,要获取钩子列表,可以直接获取 $wp_filter 全局变量。 上边的代码会打印出钩子列表。

WordPress add_action() 和 add_filter() 挂载类函数

使用 add_action() 和 add_filter() 给钩子挂载函数只需要把函数名添加进去即可,但如果要传递一个类函数进去怎么办的,看下边的例子: 这里可以用一个数组传递,虽然比较奇怪,但却省略了 –> 符号,还是挺有创意的。 具体可以参考 PHP 回调类型文档:http://us2.php.net/manual/en/language.pseudo-types.php#langua…

WordPress 函数:has_action()(检查动作是否被挂载函数)

has_action() 用来检测一个动作是否被挂载函数。 其实它和 has_filter() 的作用完全一样,只不过 WordPress 的开发人员为了帮助我们更好的区分过滤器和动作两种钩子的区别所以才写了一个 has_action() 函数,在调用 has_action() 函数的地方调用 has_filter() 效果是一样的,所以 has_action() 函数请参考 add_filter…

WordPress 函数:has_filter()(检查过滤器是否被挂载函数)

has_filter() 函数可以判断一个过滤器是否被某个函数挂载。 用法 参数 $tag (字符串)(必须)要判断的过滤器的名字。 默认值:None $function_to_check (字符串)(可选)如果设置,并且这个函数被挂载了 $tag 变量指定的过滤器上,则返回优先级。 默认值:None 返回值 (整数 | 布尔)如果有函数则返回指定函数的优先级,没有则返回 False 例子 其它 …

WordPress 函数:did_action()(获取动作的执行次数)

每执行一次 do_action() 函数 WordPress 都会进行一次计数,计数可以使用 did_action() 获取,所以 did_action() 可以获取到某个动作总共执行了几次,也可以根据此函数判断动作是否执行过。 用法 参数 $tag (字符串)(必须)要查找执行次数的动作名称。 默认值:None 返回值 (整数)返回动作的执行次数,没执行过则返回 0 例子 其它 该函数位于:wp…

WordPress 函数:add_action()(添加动作)

add_action() 函数用来挂载一个函数到动作钩子上。 用法 参数 $hook (字符串)(必须)挂载函数的动作名称。 默认值:None $function_to_add (回调函数)(必须)挂载的函数,直接填写字符串形式的函数名即可,如果你要挂载类函数可以参考:https://www.endskin.com/hook-object-function/ 默认值:None $priority …

WordPress 函数:do_action()(执行动作)

do_action() 用来执行动作钩子,它和 apply_filters() 的区别在于没有返回值,单纯的就是在特定的地方执行插件或者主题开发者挂载的函数,一般存在于某个特殊的节点或者事件上(比如开始加载主题模板的时候或者发布一篇文章的时候)。 用法 参数 $tag (字符串)(必须)要执行的动作的名字。 $arg (混合)(可选)额外的参数,会被传到调用的函数里,可以添加无限个,比如保存文章的…

WordPress 函数:add_filter()(添加过滤器)

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

WordPress 函数:apply_filters()(创建过滤器)

apply_filters() 函数用来创建一个过滤器,大多数被用在函数中,是 WordPress 插件机制中非常重要的一个函数,能让其它的主题和插件对一个值进行修改过滤。 用法 参数 $tag (字符串)(必须)过滤器的名字。 默认值:None $value (混合)(必须)要过滤的值,如果没人过滤则直接返回这个值。 $var (混合) (可选)传给过滤函数额外的变量参数,辅助过滤函数对返回值进…