Woocommerce là một plugin tuyệt vời với đầy đủ các chức năng giúp chúng ta tạo một web thương mại, tuy nhiên nếu bạn muốn cấu hình lại các trang của woocommerce cho phù hợp với nhu cầu thì các hàm hook của woocommerce là một công cụ thích hợp để bạn tùy biến woocommerce. Trong theme Flatsome thì các bạn phải dùng thêm hàm hook trong trang sản phẩm của Flatsome nhé.
Tại sao các hàm hook & action mặt định của Wocommerce lại không hoạt động?
Đối với theme Flatsome hay các theme wordpress khác nhiều khi chúng ta gọi các hàm hook không thành công vì một lý do đơn giản là: các theme này đã kế thừa và thay thế bằng các hook mặt định thành các hook & action riêng của theme rồi. Do đó ngoài các hook & action của woocommerce chúng ta còn phải xem thêm các hook & action riêng của theme nữa nhé!
Cách xem các hook & action trong theme con wordpress
Các bạn có thể view code theme để tìm các hook & action riêng của theme nhé:
ví dụ trong file “flatsome\woocommerce\single-product\headers\header-product-top.php” chúng ta có thể thấy các dòng code sau:
1 2 3 |
<div class="flex-col flex-grow medium-text-center"> <?php do_action('flatsome_product_title') ;?> </div> |
Dòng do_action(‘flatsome_product_title’) ; tạo ra một action mới cho theme là flatsome_product_title
Danh sách các hàm hook trong trang sản phẩm của Flatsome
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
flatsome_woocommerce_shop_loop_images flatsome_sale_flash flatsome_products_before flatsome_products_after flatsome_product_title_tools flatsome_product_title flatsome_product_image_tools_top flatsome_product_image_tools_bottom flatsome_product_box_tools_top flatsome_product_box_tools_bottom flatsome_product_box_after flatsome_product_box_actions flatsome_cart_sidebar flatsome_before_single_product_custom flatsome_before_product_sidebar flatsome_before_product_page flatsome_before_product_images flatsome_after_product_page flatsome_after_product_images |
Ví dụ hook flatsome_product_title:
Ví dụ sau thêm dòng text sau vào sau tiêu đề sản phẩm trong theme Flatsome
1 2 3 4 5 6 |
add_action('flatsome_before_product_page','test_flatsome_product_hook'); function test_flatsome_product_hook(){ //echo current_filter().'</br>'; echo '----------test-------------'; } |
Chúc các bạn code thành công, nhớ bổ xung và chia sẽ thêm kiến thức để bài viết này càng thêm đầy đủ nhé!