Email Doanh NghiệpSSLFirewall Anti DDoS

NỘI DUNG

Banner blog lễ 30.4 và 1.5

Woocommerce Hooks là gì? Hướng dẫn sử dụng các Woocommerce Hook thông dụng

Cao Lê Viết Tiến

Đã kiểm duyệt nội dung

Ngày đăng:28/04/2026
Lượt xem

Quy trình sản xuất nội dung

Đánh giá

[esi kkstarratings cache="private" ttl="3"]

WooCommerce Hooks là hệ thống móc kết nối mạnh mẽ trong WordPress, cho phép developer tùy chỉnh giao diện và chức năng của website thương mại điện tử mà không cần chỉnh sửa file core. Từ kinh nghiệm thực tế qua việc hỗ trợ kỹ thuật cho hàng ngàn khách hàng WordPress tại Vietnix, mình sẽ hướng dẫn chi tiết danh sách Hooks thông dụng, cú pháp sử dụng trong file functions.php của child theme cùng các ví dụ code thực tế để bạn có thể triển khai ngay.

Những điểm chính

  • Quan điểm của mình: Việc lạm dụng Hooks mà không kiểm soát thứ tự ưu tiên (priority) là nguyên nhân hàng đầu gây xung đột layout và lỗi logic trên WooCommerce. Từ thực tế hỗ trợ tại Vietnix, mình khuyên bạn luôn sử dụng Child Theme và ưu tiên dùng Action Hook để thêm mới, Filter Hook để thay đổi dữ liệu nhằm giữ mã nguồn sạch, tránh làm hỏng cấu trúc core khi cập nhật plugin.
  • Khái niệm: Hiểu rõ WooCommerce Hooks là hệ thống móc kết nối, giúp tùy chỉnh giao diện và chức năng mà không cần chỉnh sửa file core.
  • Phân biệt Action và Filter Hooks: Nắm được sự khác biệt cơ bản giữa hai loại hook, giúp bạn lựa chọn đúng công cụ để chèn code mới hoặc thay đổi dữ liệu.
  • Cách sử dụng: Nắm vững quy trình triển khai hooks trong functions.php của child theme, giúp bạn tùy chỉnh WooCommerce một cách an toàn và bền vững.
  • Các Hook thông dụng: Nhận biết các hook phổ biến theo từng trang (giỏ hàng, thanh toán, sản phẩm), giúp bạn nhanh chóng tìm được hook phù hợp cho nhu cầu tùy chỉnh của mình.
  • Ví dụ thực tế: Tham khảo các đoạn code mẫu, giúp bạn hình dung cách áp dụng hooks để thêm nội dung, xóa phần tử hoặc thay đổi dữ liệu một cách hiệu quả.
  • Lưu ý quan trọng: Nắm được các thực hành tốt nhất như sử dụng child theme, kiểm tra xung đột và backup, giúp triển khai code an toàn và tránh các lỗi không mong muốn.
  • Giải pháp hạ tầng số Vietnix: Cung cấp nền tảng tốc độ, ổn định và bảo mật, giúp doanh nghiệp vận hành website hiệu quả và tạo lợi thế bứt phá trong kinh doanh.
  • Câu hỏi thường gặp: Được giải đáp các thắc mắc về danh sách hooks, plugin hỗ trợ và ý nghĩa của actions, giúp củng cố kiến thức và giải quyết các vấn đề thực tế.

những điểm chính

WooCommerce Hooks là gì?

WooCommerce Hooks là hệ thống móc kết nối cho phép chèn và chỉnh sửa mã nguồn trong WooCommerce mà không thay đổi file cốt lõi. Action Hooks sử dụng do_action() để thực thi hàm tùy chỉnh tại vị trí xác định, như thêm trường mới vào checkout hoặc nội dung trước giỏ hàng.

Filter Hooks áp dụng apply_filters() để thay đổi dữ liệu truyền vào, yêu cầu return giá trị đã xử lý như điều chỉnh nhãn trường hoặc giá sản phẩm. Các Hook được triển khai qua add_action() hoặc add_filter() trong functions.php của child theme nhằm đảm bảo tính tương thích khi cập nhật.

WooCommerce Hooks là hệ thống móc kết nối cho phép chèn và chỉnh sửa mã nguồn trong WooCommerce mà không thay đổi file cốt lõi
WooCommerce Hooks là hệ thống móc kết nối cho phép chèn và chỉnh sửa mã nguồn trong WooCommerce mà không thay đổi file cốt lõi

Việc lạm dụng WooCommerce Hooks trên một nền tảng không được tối ưu có thể gây ra tình trạng nghẽn truy vấn database. Hosting cho WordPress của Vietnix giải quyết triệt để vấn đề này bằng hạ tầng chuyên dụng: 100% ổ cứng NVMe Enterprise, LiteSpeed Web Server và Object Cache (Redis/Memcached). Điều này đảm bảo mọi hàm tùy chỉnh được thực thi với độ trễ thấp nhất, giữ cho website của bạn luôn ổn định và nhanh chóng.

Tối ưu website ổn định và an toàn hơn với WordPress Hosting
  • Cải thiện trải nghiệm người dùng và thứ hạng tìm kiếm
  • Hiệu suất ổn định, yên tâm phát triển nội dung và kinh doanh
  • Quà tặng theme và plugin bản quyền
Tăng tốc website ngay
wordpress hosting vietnix

Action Hooks và Filter Hooks khác nhau thế nào?

Tiêu chíAction HooksFilter Hooks
Chức năng chínhChèn code mới tại vị trí cụ thể qua do_action()Thay đổi dữ liệu đầu vào qua apply_filters()
Cú pháp sử dụngadd_action(‘hook_name’, ‘function_name’) không cần returnadd_filter(‘hook_name’, ‘function_name’) bắt buộc return giá trị
Ví dụ ứng dụngThêm field mới vào checkout formChỉnh sửa label/placeholder field checkout
Kết quả xử lýThực thi hành động một chiềuTrả về dữ liệu đã biến đổi

Quan điểm của mình: Việc nhầm lẫn giữa Action và Filter là nguyên nhân phổ biến gây ra các lỗi logic khó tìm trong WordPress. Điểm mấu chốt là Action cho phép bạn “can thiệp” vào quy trình để bổ sung hành động, trong khi Filter cho phép bạn “chỉnh sửa” dữ liệu chạy qua quy trình đó. Một lập trình viên chuyên nghiệp sẽ luôn kiểm tra kỹ số lượng tham số ($accepted_args) khi sử dụng Filter để đảm bảo dữ liệu đầu vào và đầu ra đồng nhất, tránh làm hỏng cấu trúc dữ liệu nguyên bản của hệ thống.

Cách sử dụng WooCommerce Hooks trong functions.php

WooCommerce Hooks được triển khai trong file functions.php của child theme hoặc plugin Code Snippets để đảm bảo tính tương thích khi cập nhật:

  • Bước 1: Bạn cần chọn vị trí triển khai và sử dụng functions.php child theme hoặc plugin Code Snippets tránh mất code khi update theme/plugin.
Bạn cần tải plugin Code Snippets
Bạn cần tải plugin Code Snippets
  • Bước 2: Sau đó, bạn cần xác định Hook cần dùng cho trang, hãy tìm action/filter phù hợp với vị trí (cart, checkout, single product).
    • Action Hook syntax: add_action(‘hook_name’, ‘function_name’) để định nghĩa hàm thực thi code mới không cần return.
    • Filter Hook syntax: add_filter(‘hook_name’, ‘function_name’, priority, args) để bắt buộc return giá trị đã xử lý.
Sau đó, bạn cần xác định Hook cần dùng cho trang
Sau đó, bạn cần xác định Hook cần dùng cho trang
  • Bước 3: Bạn cần kiểm tra trên staging site, kiểm tra xung đột với theme/plugin khác trước khi thực thi.
Bạn cần kiểm tra trên staging site
Bạn cần kiểm tra trên staging site

Hook trang giỏ hàng (Cart Hooks)

Danh sách Hook phổ biến trên trang giỏ hàng cho phép tùy chỉnh layout và nội dung:

  • woocommerce_before_cart: Vị trí trước toàn bộ nội dung cart.
  • woocommerce_cart_contents: Chứa bảng sản phẩm cart.
  • woocommerce_cart_coupon: Khu vực mã giảm giá.
  • woocommerce_cart_totals: Tổng hợp phí ship, thuế, tổng tiền.
  • woocommerce_proceed_to_checkout: Nút chuyển sang checkout.

Hook trang thanh toán (Checkout Hooks)

Hook checkout hỗ trợ thêm field, chỉnh sửa billing/shipping:

  • woocommerce_before_checkout_form: Trước form checkout.
  • woocommerce_checkout_billing: Phần thông tin billing.
  • woocommerce_review_order_before_cart_contents: Trước review order.
  • woocommerce_review_order_after_cart_contents: Sau review sản phẩm.
  • woocommerce_review_order_after_payment: Sau nút thanh toán.

Hook trang đơn hàng hoàn tất (Order Hooks)

Hook trên trang thank you/order received hiển thị chi tiết đơn:

  • woocommerce_thankyou: Nội dung chính sau đặt hàng thành công.
  • woocommerce_order_details_before_order_table: Trước bảng order details.
  • woocommerce_order_items_table: Bảng items đơn hàng.
  • woocommerce_order_details_after_order_table: Sau bảng order.
Hook trang đơn hàng hoàn tất (Order Hooks)
Hook trang đơn hàng hoàn tất (Order Hooks)

Visual Hook Guide trang sản phẩm đơn

Hướng dẫn trực quan hook single product page từ businessbloomer:

  • woocommerce_before_single_product: Trước toàn bộ sản phẩm.
  • woocommerce_single_product_summary: Summary chứa title, price, add to cart.
  • woocommerce_after_single_product_summary: Sau summary (tabs, related).
  • woocommerce_product_thumbnails: Vị trí thumbnails sản phẩm.

Hook WooCommerce shop và archive page

Hook cho trang shop/list sản phẩm và archive:

  • woocommerce_before_shop_loop: Trước loop sản phẩm.
  • woocommerce_shop_loop_item_title: Tiêu đề sản phẩm trong loop.
  • woocommerce_after_shop_loop_item_title: Sau title item.
  • woocommerce_archive_description: Mô tả archive category.

Hook tài khoản, email và khác

  • My Account Hooks: woocommerce_account_dashboard (dashboard nội dung), woocommerce_before_my_account (trước my account).
  • Email Hooks: woocommerce_email_header (header email), woocommerce_email_order_details (chi tiết order trong email).
  • Khác: woocommerce_before_main_content, woocommerce_after_main_content cho layout chung.
Hook trang đơn hàng hoàn tất
Hook trang đơn hàng hoàn tất

Ví dụ code thực tế WooCommerce Hooks

Action Hook dùng để thêm text tùy chỉnh vào single product summary:

<br>add_action( 'woocommerce_single_product_summary', 'them_text_san_pham', 15 );<br>function them_text_san_pham() {<br> echo '<p>Thông tin bổ sung sản phẩm.</p>';<br>}<br>
Action Hook dùng để thêm text tùy chỉnh vào single product summary
Action Hook dùng để thêm text tùy chỉnh vào single product summary

Action Hook (Remove) đùng để xóa meta thông tin sản phẩm trên single page:

<br>remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );<br>
Action Hook (Remove) đùng để xóa meta thông tin sản phẩm trên single page
Action Hook (Remove) đùng để xóa meta thông tin sản phẩm trên single page

Filter Hook dùng để tùy chỉnh tên sản phẩm trong giỏ hàng với link permalink:

<br>add_filter( 'woocommerce_cart_item_name', 'lien_ket_ten_sp_cart', 10, 3 );<br>function lien_ket_ten_sp_cart( $name, $cart_item, $cart_item_key ) {<br> return '<a href="' . get_permalink( $cart_item['product_id'] ) . '">' . $name . '</a>';<br>}<br>
Filter Hook dùng để tùy chỉnh tên sản phẩm trong giỏ hàng với link permalink
Filter Hook dùng để tùy chỉnh tên sản phẩm trong giỏ hàng với link permalink

Lưu ý từ chuyên gia: Đoạn mã tùy chỉnh có thể không tương thích với một số theme (ví dụ: Flatsome) nếu chúng sử dụng cấu trúc layout sản phẩm riêng (Custom Product Layout). Trong trường hợp đó, bạn cần điều chỉnh lại code để phù hợp với các hook của theme đang dùng.

Lưu ý khi dùng WooCommerce Hooks

Việc sử dụng WooCommerce Hooks yêu cầu tuân thủ các nguyên tắc kỹ thuật nghiêm ngặt để đảm bảo tính ổn định và tương thích hệ thống:

  • Developer level documentation: Tài liệu dành cho lập trình viên có kinh nghiệm, WooCommerce không hỗ trợ tùy chỉnh hook theo Support Policy.
  • Sử dụng child theme functions.php: Đặt code trong functions.php của child theme để tránh mất khi update theme gốc.
  • Bắt buộc return với Filter: Mọi hàm filter phải return giá trị đã xử lý, nếu không dữ liệu gốc bị mất.
  • Kiểm tra xung đột: Test kỹ tương tác với theme, plugin khác trước khi deploy production.
  • Tham khảo Hooks Reference: Luôn kiểm tra WooCommerce Hooks Reference để xác định chính xác chức năng từng hook.
  • Ưu tiên và arguments: Sử dụng priority (mặc định 10) và số args phù hợp trong add_action/add_filter để kiểm soát thứ tự thực thi.
  • Backup và staging: Backup site và test trên môi trường staging tránh lỗi ảnh hưởng live site.
Lưu ý khi dùng WooCommerce Hooks
Lưu ý khi dùng WooCommerce Hooks

Kinh nghiệm thực tế từ chuyên gia: Mình nhấn mạnh rằng hiệu năng là trên hết. Một hook chứa truy vấn phức tạp có thể làm chậm cả website. Đừng chỉ dựa vào tài liệu, hãy chủ động “đọc” code của theme/plugin để tìm hook riêng khi cần. Cuối cùng, hãy cài đặt plugin Query Monitor; nó là công cụ gỡ lỗi và phân tích hiệu năng không thể thiếu để xác định chính xác vấn đề.

Vietnix: Đối tác hạ tầng website tin cậy của doanh nghiệp Việt Nam

Vietnix tự hào là nhà cung cấp giải pháp hạ tầng số và điện toán đám mây hàng đầu tại Việt Nam, mang sứ mệnh đồng hành cùng doanh nghiệp và nhà phát triển trên hành trình chuyển đổi số thông qua các dịch vụ từ Hosting, VPS, Máy chủ đến giải pháp Cloud chuyên biệt.

Lấy Tốc Độ – Ổn Định – Bảo Mật làm kim chỉ nam, kết hợp cùng đội ngũ hỗ trợ kỹ thuật chuyên sâu 24/7, Vietnix cam kết mang đến một hệ sinh thái dịch vụ toàn diện. Nền tảng này giúp khách hàng vận hành website hiệu quả, đồng thời tạo lợi thế để tự tin bứt phá trong môi trường kinh doanh cạnh tranh.

Thông tin liên hệ:

  • Website: https://vietnix.vn/
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh

Câu hỏi thường gặp

WooCommerce Hooks list ở đâu?

Danh sách đầy đủ WooCommerce Hooks có sẵn tại WooCommerce Code Reference trên GitHub, phân loại action và filter theo file và chức năng. Tài liệu chính thức WooCommerce cũng hướng dẫn tham khảo Hooks Reference cho chi tiết từng Hook.

Có WooCommerce Hooks plugin không?

Không có plugin chính thức liệt kê tất cả Hooks, nhưng Hook Inspector hoặc Query Monitor giúp debug và xem Hooks đang chạy trên site. Developer thường dùng WooCommerce Code Reference trực tuyến thay vì plugin.

WooCommerce actions là gì?

WooCommerce actions là action hooks cho phép thực thi code tại điểm cụ thể, như woocommerce_add_to_cart hoặc woocommerce_thankyou. Việc sử dụng add_action để hook vào, ví dụ thêm nội dung sau order received.

WooCommerce Hooks là công cụ mạnh mẽ giúp tùy chỉnh website thương mại điện tử linh hoạt, từ action hooks chèn nội dung đến filter hooks chỉnh sửa dữ liệu mà không can thiệp file core. Việc áp dụng đúng child theme functions.php và test kỹ để tối ưu hiệu suất checkout, product page, cart là vô cùng cần thiết.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

wordpress

woocommerce

text
icon popup single post

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG