Vũ Thành Lâm

WooCommerce Hooks là Gì? Cách dùng Actions Hook và Filters Hook trong WordPress

5/5 - (2 bình chọn)

WooCommerce Hooks là Gì? làm sao dùng Actions Hook và Filters Hook trong WordPress đó là những câu hỏi thường được đặt ra khi bạn cần phát triển một Website với WordPress. Đặc biệt với các website bán hàng sử dụng WooCommerce thì việc dùng Hook là thường xuyên.

Hook trong WordPress về cơ bản cho phép bạn thay đổi hoặc thêm CODE mà không cần chỉnh sửa các file trong Core WordPress. Chúng được sử dụng rộng rãi trong WordPress và WooCommerce và rất hữu ích cho các nhà phát triển web, bởi vì nếu bạn thay đổi chỉnh sửa các file trong Core WordPress hay plugin WooCommerce thì sau này khả năng cập nhật lên phiên bản mới sẽ rất dễ gây lỗi hoặc bị ghi đè các file này.

Xem thêm: Tối ưu hóa WordPress hiệu quả với WP_Query

Hook cho phép bạn ghi đè các mã code hoặc thêm các mã code mà không cần can thiệp vào các file hệ thống.

Vậy làm sao để sử dụng Hook đặc biệt là Action Hook và Filters Hook trong WooCommerce WordPress

Tất cả các việc làm này bạn không cần phải sửa file trong core WordPress hay sửa file trong core của Plugin WooCommerce, mà bạn chỉ cần sửa trong file Functions.php của theme mà bạn đang sử dụng.

Action Hook

add_action( 'action_name', 'your_function_name' );

function your_function_name() {
// Your code
}

 

Trong đó action_name là tên của hành động mà bạn cần thực thi, và your_function_name là function mà bạn cần thay thế.

Ví dụ


// define the woocommerce_single_product_summary callback function

function my_custom_action() { 
 echo '<p>This is my custom action function</p>';
}; 
add_action( 'woocommerce_single_product_summary', 'my_custom_action', 15 );

Filters Hook

Filters Hook có thể được dùng như mong muốn truyền một biến nào đó vào trong các function

được dùng như sau apply_filter( ‘filter_name’, $variable );

Trong đó tên của filter và biến cần truyền

ví dụ


add_filter( 'filter_name', 'your_function_name' );

function your_function_name( $variable ) {
// Your code
return $variable;
}

Cụ thể một Filters hook trong Woocommerce


function so_remove_attributes_from_permalink( $name, $cart_item, $cart_item_key ){

$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
 if ( ! $_product->is_visible() ){
 $name = sprintf( '<a href="%s">%s</a>', get_permalink( $cart_item['product_id'] ), $_product->get_title(), $cart_item, $cart_item_key );
 }

return $name;
}
add_filter( 'woocommerce_cart_item_name', 'so_remove_attributes_from_permalink', 10, 3 );

Xem thêm:

Exit mobile version