add_filter()

热度:84
Function:将函数或方法挂钩到特定的过滤器操作。
版本 20190723
所属分类 Functions
可使用页面 All
默认值

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

  • 将函数或方法挂钩到特定的过滤器操作。


描述:

WordPress提供过滤器挂钩,允许插件在运行时修改各种类型的内部数据。

插件可以通过将回调绑定到过滤器挂钩来修改数据。稍后应用过滤器时,每个绑定回调按优先级顺序运行,并有机会通过返回新值来修改值。

以下示例显示了回调函数如何绑定到过滤器挂钩。

注意,$example传递给回调,(可能)修改,然后返回:

function example_callback( $example ) {

    // Maybe modify $example in some way.

    return $example;

}

add_filter( 'example_filter', 'example_callback' );

绑定回调可以从none接受

在相应的apply_filters()调用中作为参数传递的参数总数。

换句话说,如果apply_filters()调用传递了四个总参数,则绑定到

它的回调可以不接受任何参数(相同于1)或最多四个参数。重要的是,

该$accepted_args值必须反映绑定回调实际

选择接受的参数数量。如果回调没有接受任何被认为

与接受1参数相同的参数。例如:

// 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.

_注意:_无论回调是否有效,函数都将返回true。由您来照顾。这样做是为了优化目的,所以一切都尽可能快。


参数:

$tag

(string) (Required) 用于挂钩$ function_to_add回调的过滤器的名称。


$function_to_add

(callable) (Required) 应用过滤器时要运行的回调。


$priority

(int) (Optional) 用于指定与特定操作关联的函数的执行顺序。较低的数字与先前的执行相对应,具有相同优先级的函数按照它们添加到操作的顺序执行。


Default value(默认值): 10


$accepted_args

(int) (Optional) 函数接受的参数个数。

Default value(默认值): 1


Return(返回):

(true)


示例:

function add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) {

    global $wp_filter;

    if ( ! isset( $wp_filter[ $tag ] ) ) {

        $wp_filter[ $tag ] = new WP_Hook();

    }

    $wp_filter[ $tag ]->add_filter( $tag, $function_to_add, $priority, $accepted_args );

    return true;

}

问题反馈反馈和建议QQ群:785318993