Software miễn phí
Would you like to react to this message? Create an account in a few clicks or log in to continue.


Action Hook trong Wordpress và các dùng Hook add_action

avatar
softwareadmin
Admin
Tổng số bài gửi : 496
Join date : 2024-01-23
https://softwaremienphi.forumvi.com
Sun Jan 28, 2024 4:38 pm
Bài này yêu cầu kiến thức cơ bản về wordpress và lập trình php.
Action trong Wordpress:
Hooks: là thư viện function dùng trong wordpress, khi code và lập trình wordpress, bạn cần dùng đến hook rất nhiều.
Ngoài ra: hook giúp chúng ta gắn chức năng để thực thi một hành động mà không phải đụng vào bất cứ thứ gì trong core wp.
Hook chia thành: action và filter.
Action
Action: hàm thực thi, không trả về giá trị
Filter: hàm có trả về giá trị.
Gắn Action vào Hook:


Code:
add_action($tag,
$function, $priority, $accepted_args)
$tag: Là tên của action hook ví dụ ‘wp_footer’, ‘wp_pagination’.
$function: tên hàm ví dụ:


Code:
my_layout_footer(){
     $layout = "<div lass='footer-row'>;
     $layout.= "<div class='col-1'></div>";
     $layout.="<div class='col-2'></div>";
     $layout.="</div>";
}

Code:
add_action('wp_footer','my_layout_footer' );


$priority: mức độ ưu tiên khi gọi mặc định là 10(để trống)
$accepted_args: Số các tham số mà $function chấp nhận truyền vào -> để trống thì mặc đinh là 1.
Như đã nói ở trên Action là hàm thực thi, nó trả về giá trị true(luôn luôn).
Loại bỏ action: Để loại bỏ action khỏi hook kể cả Action có sẵn trong hệ thông WP.
Ví dụ: remove_action('wp_head', 'rsd_link');
Loai bỏ tất cả Action sử dụng:
Code:
remove_all_actions( $tag, $priority );

$tag: Tên của action hook
$priority: Độ ưu tiên của action để loại bỏ. VD Loại bỏ tất cả action có sẵn của hệ thống trong Action Hook có tên 'wp_head'. Default:false

Code:
remove_all_actions('wp_footer');


Kiểm tra sự tồn tại của Action trong Hook
Kiểm tra nếu action đã được đăng ký cho một hook

Code:
has_action( $tag, $function_to_check );


khi dùng hàm $function_to_check, thì hàm này trả về một giá trị 1 hoặc true để thông báo là có gắn hook .

Code:
echo '<br/>' .
has_action('wp_head');


khi dùng hàm $function_to_check, thì hàm này trả về một giá trị 0 hoặc false để thông báo là không gắn hook.
Xem thêm tại:
Code:
https://developer.wordpress.org/reference/functions/has_action/


Thực hành tạo mới một action hook:
Sử dụng action để thay đổi footer:

Code:
add_action();
add_action('the_title_footer','the_title_footer_callback');
function the_title_footer_callback()
{
         echo '<p>Hello word</p>';
}
Back to top
Permissions in this forum:
You can reply to topics in this forum