WooCommerce Single Product Page [Visual Hook Guide]

Dưới dây là các vị trí để bạn chèn hook hoặc hỗ trợ tìm nhanh các vị trí để hiển thị giá trị của ACF

woocommerce_before_single_product

woocommerce_before_single_product_summary

SALE!

woocommerce_product_thumbnails

(may not work)

woocommerce_single_product_summary

Product Title

$ 44.00 – $ 99.00 

This is the short description!

woocommerce_before_add_to_cart_form

woocommerce_before_variations_form

Select

woocommerce_before_add_to_cart_button

woocommerce_before_single_variation

woocommerce_single_variation

$ 44.00

In stock

woocommerce_before_add_to_cart_quantity


woocommerce_after_add_to_cart_quantity

Add to cart

woocommerce_after_single_variation

woocommerce_after_add_to_cart_button

woocommerce_after_variations_form

woocommerce_after_add_to_cart_form

woocommerce_product_meta_start

SKU: 123123234
Category: WordPress
TagsTag1Tag2

woocommerce_product_meta_end

woocommerce_share

woocommerce_after_single_product_summary

Tab Title

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

Weight 546 kg
Dimensions 546 x 456 x 456 cm
Option Option 1, Option 2

Review: Lorem ipsum dolor sit amet, consectetuer adipisc…

You may also like…

Test product

$1,00

Add to cart

woocommerce_after_single_product

Dưới đây là đoạn code cho ví dụ hiển thị ở vị trí sau TAGS:

/* Hiển thị giá trị Custom Field zz_authors ở vị trí sau Category,Tags - Bắt buộc cài ACF */
function hgn_display_custom_field_zz_authors() {
global $post;
// Check for the custom field value
$product = wc_get_product( $post->ID );
$title = $product->get_meta( 'zz_authors' );
if( $title ) {
echo '</br><b>Author(s):</b> ' . get_post_meta($post->ID, 'zz_authors', true);

}
}
add_action( 'woocommerce_product_meta_end', 'hgn_display_custom_field_zz_authors' );

/* ################### End */

 

WooCommerce Single Product Page Default Actions

This is the list of WooCommerce actions you can unhook/remove by simply changing “add_action” to “remove_action” in your functions.php. WooCommerce uses its own hooks e.g. “woocommerce_before_single_product_summary” to assemble the single product page together. Because it’s done this way, you can therefore use “remove_action” to remove one of these elements. I’ve also added other “do_action” which don’t have a trigger function at the moment, but that you can use for adding content to the product page.

 

// Before content
add_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 );
add_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
add_action( 'woocommerce_before_single_product', 'woocommerce_output_all_notices', 10 );
  
// Left column
add_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_sale_flash', 10 );
add_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20 );
add_action( 'woocommerce_product_thumbnails', 'woocommerce_show_product_thumbnails', 20 );
 
// Right column
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
 
// Right column - add to cart
do_action( 'woocommerce_before_add_to_cart_form' );
do_action( 'woocommerce_before_add_to_cart_button' );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
 
add_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );
add_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );
add_action( 'woocommerce_variable_add_to_cart', 'woocommerce_variable_add_to_cart', 30 );
add_action( 'woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30 );
add_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 10 );
add_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
do_action( 'woocommerce_before_quantity_input_field' );
do_action( 'woocommerce_after_quantity_input_field' );
do_action( 'woocommerce_after_add_to_cart_button' );
do_action( 'woocommerce_after_add_to_cart_form' );
 
// Right column - meta
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
do_action( 'woocommerce_product_meta_start' );
do_action( 'woocommerce_product_meta_end' );
 
// Right column - sharing
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_sharing', 50 );
do_action( 'woocommerce_share' );
 
// Tabs, upsells and related products
add_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 );
add_action( 'woocommerce_product_additional_information', 'wc_display_product_attributes', 10 );
do_action( 'woocommerce_product_after_tabs' );
add_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );
add_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 );
 
// Reviews
add_action( 'woocommerce_review_before', 'woocommerce_review_display_gravatar', 10 );
add_action( 'woocommerce_review_before_comment_meta', 'woocommerce_review_display_rating', 10 );
add_action( 'woocommerce_review_meta', 'woocommerce_review_display_meta', 10 );
do_action( 'woocommerce_review_before_comment_text', $comment );
add_action( 'woocommerce_review_comment_text', 'woocommerce_review_display_comment_text', 10 );
do_action( 'woocommerce_review_after_comment_text', $comment );
 
// After content
do_action( 'woocommerce_after_single_product' );
do_action( 'woocommerce_after_main_content' );

 

Leave a Reply