wordpress bài 4: xem cơ chế thực thi của action hook qua thực hành một hook đơn giản

 Ở bài trước ta đã biết để sửa giao diện woo không chỉ sửa mỗi thẻ html class và css, ta còn phải can thiệp tới các hàm và hook. Trong bài này ta cung đi tìm hiểu cơ chế thực thi của action hook qua việc thực hành một hook đơn giản.

để sửa hàm móc với hook ta copy tên hàm phần bôi đen trong ảnh


 tìm trong thư mục woocommerce thêm tiền tố function tìm ra hàm thực sự của nó,  rồi copy hàm đó dán vào themes/functions.php và viết các action và filter để thực thi hàm đó (tên hàm đã khai báo từ trước, thì ta phải đặt lại tên hàm, sử dụng 

 remove_action('ten hook','tên hàm',tt ưu tiên); 

để loại bỏ hà cũ đi, sau đó 

add_action('ten hook','tên hàm mới',tt ưu tiên); 

để thay thế. độ ưu tiên số lớn hiển thị sau số nhỏ hiển thị trước.


hook là một hành động , hoặc một xử lý lọc nội dung, tất cả các hook sẽ được định nghĩa trong file 

plusgins/woocommerce/includes/wc-template-hooks.php

để xem chi tiết các hook xem tại link

để tra xem tên hook thuộc file nào ta copy tên hook


vào  link  xem chi tiết các hook ctrl + f pate tên hook vào ô tìm kiếm sẽ tìm ra tên file chứa hook đó




Tại sao lại sử dụng hook?  

 vì trong cấu trúc của woocommerce không phải muốn sửa là sửa luôn 1 file mà nó phân tách nhỏ ra từng file , gần giống như css giúp tổ chức code đơn giản dễ dàng khi dùng lại. 

Khi ta thay đổi template để làm giao diện thì chỉ việc thay đổi hàm chứ không sửa trực tiếp như vậy an toàn hơn.

Tất cả các function nằm ở plusgins/woocommerce/includes/wc-template-function.php (tìm kiếm các function nên tìm kiếm trong đây, vị trí  phần khai báo function). và được định nghĩa lại trong file functions.php của theme mới.

hàm wc_get_template_part(A1,A2);

hàm lấy ra file A1-A2.php, như trong ảnh dưới đây là lấy ra file: content-product.php tại vị trí thực thi hàm.


ví dụ sử dụng hook:

Trong file functions.php khai báo hook chayhamcc móc nối với hàm cucai qua câu lệnh add_action.


để sử dụng hàm cucai thì ta thực hiện lệnh do_action với tên hook chayhamccc ở nơi cần thực thi hàm cucai.


kết quả khi thực thi hàm cucai



giờ hãy cùng so sánh cách làm ở trên với cách làm thêm thẻ h2 thông thường


khi ta thêm thẻ h2 thông thường, thì đó là ta thêm kông phải woocommerce thêm.


thứ tự ưu tiên

ví dụ có 10 cái hàm cùng chạy một lúc thì cái add_action được ưu tiên thứ 10. Độ ưu tiên số lớn hiển thị sau số nhỏ hiển thị trước.


wordpress bài 3: các hàm hook trong woocommerce

wordpress bài 5: viết một filter hook đơn giản

Nhận xét :

Đăng nhận xét