Nhảy tới nội dung
Phiên bản: 7.2.0

Hooks

Hook giúp chúng ta gắn một số chức năng để thực thi những hành động mà chúng ta muốn mà không phải đụng và bất cứ thứ gì ở trong core của CMS.

Có 2 kiểu Hook chính: Action hookFilter hook.

Action Hook

Action Hook chính là một điểm neo để chúng ta thực hiện một hành động gì đó tại một chu kỳ nhất định.

Add action hook

Reference: https://developer.wordpress.org/reference/functions/add_action

Tham số truyền vào bao gồm:

add_action(string $hook_name, callable $callback, int $priority = 10, int $accepted_args = 1)
ParamsTypeDescriptionDefault
$hook_namestringTên của bộ lọc để móc callback $function_to_add vào.
$callbackcallableCallback sẽ được chạy khi bộ lọc được áp dụng.
$priorityintĐược sử dụng để chỉ định thứ tự mà các chức năng liên quan đến một hành động cụ thể được thực thi. Các số thấp hơn tương ứng với việc thực thi trước đó và các hàm có cùng mức độ ưu tiên được thực thi theo thứ tự mà chúng được thêm vào hành động.10
$accepted_argsintSố lượng đối số mà hàm chấp nhận.1

Do action hook

Hàm này chỉ đơn giản là khai báo một điểm neo ngay tại vị trí của nơi nó cần thực thi Reference: https://developer.wordpress.org/reference/functions/do_action

Tham số truyền vào bao gồm:

do_action(string $hook_name, mixed $arg)
ParamsTypeDescriptionDefault
$hook_namestringTên filter hook mà add_action sẽ móc vào Tên của bộ lọc để móc callback $function_to_add vào.
$argmixedCác đối số bổ sung được truyền cho các hàm được nối với hành động. Mặc định trống.

Remove action hook

Hàm này loại bỏ một hàm được gắn vào filter hook được chỉ định. Phương pháp này có thể được sử dụng để loại bỏ các hàm mặc định được gắn vào một móc lọc cụ thể và có thể thay thế chúng bằng một hàm thay thế.

Để loại bỏ một hook, các đối số $callback và $priority phải khớp nhau khi hook được thêm vào. Điều này áp dụng cho cả filters và actions. Sẽ không có cảnh báo nào được đưa ra khi gỡ bỏ thất bại

Tham số truyền vào bao gồm:

remove_action(string $hook_name, callable|string|array $callback, int $priority = 10): bool
ParamsTypeDescriptionDefault
$hook_namestringTên hook mà $callback đã nối vào.
$callbackcallable,string,arrayTên hàm cần bỏ
$priorityintMức độ ưu tiên chính xác được sử dụng khi thêm bằng add_action.10

Filers Hook

Bên cạnh Action Hook, chúng ta còn một loại hook nữa cũng sử dụng rất thường xuyên và đóng vai trò quan trọng không kém khi lập trình trong CMS, đó là Filter Hook.

Add Filter hook

Reference: https://developer.wordpress.org/reference/functions/add_action

Tham số truyền vào bao gồm:

add_filter( string $hook_name, callable $callback, int $priority = 10, int $accepted_args = 1 ): true
ParamsTypeDescriptionDefault
$hook_namestringTên của filter để thêm lệnh callback vào
$callbackcallableCallback sẽ được chạy khi filter được áp dụng.
$priorityintĐược sử dụng để chỉ định thứ tự mà các chức năng liên quan đến một hành động cụ thể được thực thi. Các số thấp hơn tương ứng với việc thực thi trước đó và các hàm có cùng mức độ ưu tiên được thực thi theo thứ tự mà chúng được thêm vào hành động.10
$accepted_argsintSố lượng đối số mà hàm chấp nhận.1

Apply Filter hook

Gọi các hàm callback đã được thêm vào hook Filter. Reference: https://developer.wordpress.org/reference/functions/do_action

Tham số truyền vào bao gồm:

apply_filters( string $hook_name, mixed $value, mixed $args ): mixed
ParamsTypeDescriptionDefault
$hook_namestringTên filter hook mà add_filter sẽ móc vào
$valuemixedGiá trị filte cần thay đổi
$argmixedCác đối số bổ sung được truyền cho các hàm được nối với hành động. Mặc định trống.

Remove Filter hook

Hàm này loại bỏ một hàm được gắn vào filter hook được chỉ định. Phương pháp này có thể được sử dụng để loại bỏ các hàm mặc định được gắn vào một móc lọc cụ thể và có thể thay thế chúng bằng một hàm thay thế.

Để loại bỏ một hook, các đối số $callback và $priority phải khớp nhau khi hook được thêm vào. Sẽ không có cảnh báo nào được đưa ra khi gỡ bỏ thất bại

Tham số truyền vào bao gồm:

remove_filter( string $hook_name, callable|string|array $callback, int $priority = 10 ): bool
ParamsTypeDescriptionDefault
$hook_namestringTên hook mà $callback đã nối vào.
$callbackcallable,string,arrayTên hàm cần bỏ
$priorityintMức độ ưu tiên chính xác được sử dụng khi thêm bằng add_action.10