Prabin Parajuli
Prabin Parajuli

Reputation: 561

Custom field in Woocommerce Single Product tab

Hi I am using this Woocommerce Plugin in my site. And what I want is to display my custom fields in single product.

enter image description here

I know I have to use hooks for this, but have no idea at all what hook to use. Inside woocommerce template I found out tabs.php file.

Here's the code

$tabs = apply_filters( 'woocommerce_product_tabs', array() );

if ( ! empty( $tabs ) ) : ?>

<div class="woocommerce-tabs wc-tabs-wrapper">
    <ul class="tabs wc-tabs">
        <?php foreach ( $tabs as $key => $tab ) : ?>
            <li class="<?php echo esc_attr( $key ); ?>_tab">
                <a href="#tab-<?php echo esc_attr( $key ); ?>"><?php echo apply_filters( 'woocommerce_product_' . $key . '_tab_title', esc_html( $tab['title'] ), $key ); ?></a>
            </li>
        <?php endforeach; ?>
    </ul>
    <?php foreach ( $tabs as $key => $tab ) : ?>
        <div class="panel entry-content wc-tab" id="tab-<?php echo esc_attr( $key ); ?>">
            <?php call_user_func( $tab['callback'], $key, $tab ); ?>
        </div>
    <?php endforeach; ?>
</div>

Can anyone help me?

Upvotes: 3

Views: 3526

Answers (2)

Prakash Rao
Prakash Rao

Reputation: 2398

Try this one.

Add a hook in functions.php file add_action( 'woocommerce_after_single_product_summary', 'action_woocommerce_after_single_product_summary', 10, 2 );

This function is used to show custom values in description tab Then print the custom field as per you requirement.

// define the woocommerce_after_single_product_summary callback 
function action_woocommerce_after_single_product_summary( $woocommerce_output_product_data_tabs, $int ) { 
    // if you have defined custom post type
    echo get_post_meta( $post_id, $key, $single );

    // OR 
    // if you are using acf
    echo $field = get_field($field_name, $post_id, $format_value);
}; 

// add the action 
add_action( 'woocommerce_after_single_product_summary', 'action_woocommerce_after_single_product_summary', 10, 2 );

Upvotes: 2

Anand Shah
Anand Shah

Reputation: 14913

Copy wp-content/plugins/woocommerce/templates/single-product/tabs/description.php to wp-content/themes/[active theme]/woocommerce/single-product/tabs/description.php

Create folders if required, now edit the file and add the logic to display your custom fields.

Upvotes: 2

Related Questions