I am customizing WooCommerce and I would like to add and display custom texts ( Conditions and Brands) in the product pages.
The position is either under "in Stock" or "SKU" meta. I have managed to create and save the custom fields but how to print these meta values to the product pages.
Please help!
Here is my code in functions.php
:
// Display Fields
add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' );
// Text Field
function woo_add_custom_general_fields() {
global $woocommerce, $post;
echo '<div class="options_group">';
woocommerce_wp_text_input(
array(
'id' => '_conditions',
'label' => __( 'Conditions', 'woocommerce' ),
'placeholder' => 'i.e: brand-new; refurbished; defected...',
'desc_tip' => 'true',
'description' => __( 'Enter the conditions of the products here.', 'woocommerce' )
)
);
echo '</div>';
woocommerce_wp_text_input(
array(
'id' => '_bands',
'label' => __( 'Brands', 'woocommerce' ),
'placeholder' => 'i.e: Lacoste; Hugo Boss...etc',
'desc_tip' => 'true',
'description' => __( 'Enter names of the Brands of the products if any.', 'woocommerce' )
)
);
}
// Save Fields
add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' );
Thanks
The code provided in your question is incomplete and should be something like that:
Now, to display this metadata values in your product pages you will use
get_post_meta()
function in a hooked function. Here below you will see all the hooked templates inwoocommerce_single_product_summary
hook with their priorities (the display order):The "in Stock" or "SKU" data is displayed by
woocommerce_template_single_meta
which have a priority of 40. Now you need to display your customs fields values just after. Then you can chose a priority of 45 for that purpose.Code goes in function.php file of your active child theme (active theme or in any plugin file).
This code is tested and works.