wordpress bài 12: Giới thiệu về wp_filter what-why-how.

 Bài này giời thiệu về hàm wp_filter một vũ khí cực kỳ mạnh và hữu ích mà woocommerce hỗ trợ, dùng hàm wp_filter sẽ tiết kiệm thời gian dò tìm hook với thứ tự ưu tiên của nó.

what : 

nó là một biến toàn cục trong woocommerce, được khai báo bằng từ khóa global và dùng ở đâu cũng được sử dụng để truy tìm các hook và in nó ra giao diện cho tiện lấy các thông tin liên quan như tên hàm thư tự ưu tiên để truy tung nếu cần thiết.

why : 

trong phần lớn trường hợp thì woo đều cung cấp comment đầy dủ về hook đang sử dụng và các function đi kèm từ đó ta có thể thay đổi thêm sửa xóa nếu cần thiết một cách dễ dàng.

tuy nhiên một số trường hợp lại không cmt nên việc truy tìm là rất khó, và khó mà biết priority là bao nhiêu. lúc đó ta phải dùng đến $wp_filter.

how :  

khi muốn truy tìm tung tích của hàm mong muốn ta làm qua hai bước sau:

- khai báo biến global $wp_filter

- sử dụng hàm in ra: $wp_filter['tên hook'], true


ví dụ: trong trang thực thi cart.php có cái hook: woocommerce_cart_action mà không biết hook này làm gì


và hook ở ảnh dưới cũng k biết làm gì



trong trường hợp này dùng hook mà k comment kỹ ta có thể dùng wp_filter:

copy file cart.php về theme của mình

khai báo biến toàn cục: global = $wp_filter; sau đó echo "$wp_filter['woocommerce_cart_collaterals', true]"; do đây là một kiểu đối tượng nên ta không thể dùng echo để in ra theo kiểu string conver thành text được. viết lại:



như vậy sẽ in ra kết quả như ảnh dưới nhưng các ký tự lộn xộn




thêm cặp thẻ pre,kq in ra thành một khối: in ra độ ưu tiên, in ra hàm thực  hiện để ta thực hiện truy tung.




sau khi biết hook woocommerce_cart_collaterals kết nối với hai hàm nhờ lệnh wp_filter ở bước trên. ta muốn xóa cái cross sell thì vào functions.php viết hàm remove_action.




tổng kết lại ta có cách viết wp_filter như sau:




wordpress bài 11: Định nghĩa thêm filter trong woocommerce

wordpress bài 13: giới thiệu công cụ điều hướng hàm woocommerce_get_template_part

Nhận xét :

Đăng nhận xét