has_filter()
has_filter( string $tag, callable|bool $function_to_che…
has_filter( string $tag, callable|bool $function_to_check = false )
检查是否为挂钩注册了任何筛选器。
Check if any filter has been registered for a hook.
检查是否为挂钩注册了任何筛选器。
Check if any filter has been registered for a hook.
目录锚点:#参数#返回#源码#笔记
参数(Parameters)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| $tag | (string) | 必需 | 筛选器挂钩的名称。 |
| $function_to_check | (callable | bool) | 可选 | 要检查的回调。 |
返回(Return)
(false|int)如果省略$function_to_check,则返回布尔值以确定钩子是否已注册任何内容。检查特定函数时,将返回该挂钩的优先级,如果未附加该函数,则返回false。使用$function_to_check参数时,此函数可能返回一个计算结果为false(false|int)0的非布尔值,因此使用==运算符测试返回值。
源码(Source)
/**
* Check if any filter has been registered for a hook.
*
* @since 2.5.0
*
* @global array $wp_filter Stores all of the filters.
*
* @param string $tag The name of the filter hook.
* @param callback|bool $function_to_check Optional. The callback to check for. Default false.
* @return false|int If $function_to_check is omitted, returns boolean for whether the hook has
* anything registered. When checking a specific function, the priority of that
* hook is returned, or false if the function is not attached. When using the
* $function_to_check argument, this function may return a non-boolean value
* that evaluates to false (e.g.) 0, so use the === operator for testing the
* return value.
*/
function has_filter($tag, $function_to_check = false) {
// Don't reset the internal array pointer
$wp_filter = $GLOBALS['wp_filter'];
$has = ! empty( $wp_filter[ $tag ] );
// Make sure at least one priority has a filter callback
if ( $has ) {
$exists = false;
foreach ( $wp_filter[ $tag ] as $callbacks ) {
if ( ! empty( $callbacks ) ) {
$exists = true;
break;
}
}
if ( ! $exists ) {
$has = false;
}
}
if ( false === $function_to_check || false === $has )
return $has;
if ( !$idx = _wp_filter_build_unique_id($tag, $function_to_check, false) )
return false;
foreach ( (array) array_keys($wp_filter[$tag]) as $priority ) {
if ( isset($wp_filter[$tag][$priority][$idx]) )
return $priority;
}
return false;
}| 更新版本 | 源码位置 | 使用 | 被使用 |
|---|---|---|---|
| 2.5.0 | wp-includes/plugin.php:133 | 18 | 0 |
笔记(Notes)
基本示例
add_filter()调用同一个wp_filter_build_unique_id()函数,并将method/function参数重新分配给索引数组。
类别:WordPress 函数手册、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

还没有任何评论,赶紧来占个楼吧!