How to Create a Custom Product Tab on Product page

Add custom product tabs in WooCommerce

This post is regarding how we can add custom tabs on a product page on the front-end.
These tabs are additional to the default ‘Description’, ‘Reviews’ and ‘Additional information’ tabs that are available by default.

The default tabs in WooCommerce have the following priorities:

  • Description 10
  • Additional information 20
  • Reviews 30

For adjusting your product in between them we need to give priorities in between.

How to Change the default tab position

function ChangeTabPosition( $tabs ) { 
  if ( isset( $tabs['description'] ) ) {
    $tabs['description']['priority'] = 29;
  }
  if ( isset( $tabs['additional_information'] ) ) {
    $tabs['additional_information']['priority'] = 10;
  }
 return $tabs;
}
add_filter('woocommerce_product_tabs','ChangeTabPosition' );

 


For Adding Product Tab on Product Page we have to define tab and it’s callback in woocommerce hook 'woocommerce_product_tabs'.

The ‘woocommerce_product_tabs’ filter provided by WooCommerce should be used for adding a custom tab to a single product page in WooCommerce. The code should be added to the functions.php file of your theme.

Example :

Before

function AddNewTab( $tabs ) { 
  $tabs['my_new_tab'] = array(
    'title'    => 'New Tab',
    'callback' => 'new_custom_tab_content',
    'priority' => 51,
  );
return $tabs;
}
add_filter('woocommerce_product_tabs','AddNewTab' );
function new_custom_tab_content($slug,$tab) {
  echo '<h3>' . $tab['title'] . '</h3><p>Add Your Content.</p>';
}

 

 

After

We can also do this For a Specific Product Or For Specific Product Type.

Example : For Specific Product

function  AddNewTab( $tabs ) { 
  global $product; 
    if( $product->get_id() == 786 ) {
    $tabs['my_new_tab'] = array(
      'title'    => 'New Tab',
      'callback' => 'new_custom_tab_content',
      'priority' => 51,
    );
  }
return $tabs;
}
add_filter('woocommerce_product_tabs','AddNewTab');
function new_custom_tab_content($slug,$tab) {
  echo '<h3>' . $tab['title'] . '</h3><p>Add Your Content.</p>';
}

 

Example : For Specific Product Type

function AddNewTab( $tabs ) { 
  global $product; 
    if( $product->is_type( 'variable' ) ) {
    $tabs['my_new_tab'] = array(
      'title'    => 'New Tab',
      'callback' => 'new_custom_tab_content',
      'priority' => 51,
    );
  }
return $tabs;
}
add_filter('woocommerce_product_tabs','AddNewTab');
function new_custom_tab_content($slug,$tab) {
  echo '<h3>' . $tab['title'] . '</h3><p>Add Your Content.</p>';
}

 

Related Blogs

Disable plugin update in WordPress

While it’s generally not recommended to disable plugin updates in WordPress due to security and functionality improvements, there might be specific cases where you need to prevent certain plugins from updating. Keep in mind that doing so may leave your site vulnerable to security issues and may cause compatibility problems with future WordPress versions.

Request A Quote

Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.