How to add tabs to product pages in Shopify

Adding tabs to your product pages is not difficult--all you have to do is copy and paste a little code here and there. There are two different ways of adding tabs, depending on how you want them to function, so continue reading about the two methods below.

Wait! Are you using the Minimal theme?

I have another post about how to add tabs in the Minimal theme. Click here for that tutorial. 

Adding tabs where 2 out of 3 tabs are the same for all products

Some store owners want to have tabs that are the same for all products, except for one tab which contains the product description. For example, you might have:

  • One tab for the product description (which varies for each product)

  • A second tab for shipping policies (which are the same for all products)

  • A third tab for return policies (which are the same for all products

If this is what you want, there is a handy article in the Shopify Wiki explaining how to do this, which you can access here.

Adding tabs that are all unique for each product

In my experience, more store owners prefer to have tabs that are completely unique for each product. For example, on a single product page you might have:

  • One tab for the product description

  • One tab for the product's ingredients, or instructions for how to use it, etc.

  • One tab for a video about the product

In the next few paragraphs I'll walk you through the simple steps for adding these tabs. You can also watch the video walkthrough directly below.

1. Create a duplicate of your Shopify theme as a backup

Just in case you mess something up and break your store layout, it's always a good idea to create a backup of your theme before changing the code. You can do this by going to your Shopify Dashboard > Themes, and then clicking "Duplicate" under the theme you are editing.

2. Check to see if your theme already has jQuery and jQuery UI

In order for these tabs to work, your theme will need to have both jQuery and jQuery UI. Most Shopify themes already have jQuery, and many already have jQuery UI, but make sure to check first. You can find out by opening "theme.liquid." This file can be found by going to your Shopify Dashboard, then clicking on Themes > Template Editor. If you have trouble finding this, watch the video tutorial above.

Inside theme.liquid, look for the head tag. It will look like this, but with a bunch of other code in the middle:

<head>

</head>

The first tag marks the beginning of the head, and the second marks the closing of the head. In between these two tags, look for a line of code that looks something like this:

{{ '//ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js' | script_tag }} 

OR

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>

It will look one of those two lines above, but the numbers (1.4 or 1.9.1) don't have to match exactly. This is the code for jQuery.

Next, look for the jQuery UI code, which looks something like this:

{{ 'jquery-ui-1.8.6.js' | asset_url | script_tag }} 

If you find that your theme already has both jQuery and jQuery UI, proceed to step 3. If you see jQuery but not jQuery UI, then copy only the jQuery UI line below. If you don't see either of these already in your theme, then copy and paste both of the following 2 lines of code right before the </head> tag:

Code you'll need to add jQuery and jQuery UI

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>

<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

3. Add a bit more code

Regardless of what you did in step 2, you should now add the following code directly before the </head> tag: <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />

<script> $(function() { $( "#tabs" ).tabs(); }); </script>

4. Add this code to the individual product

Note that you are NOT adding this code to product.liquid, as that would put the same tabs on every single product in your store. Instead, open one of your existing products in your Shopify Dashboard, click the HTML editor button, and then copy and paste this code:

<div id="tabs">
<ul>
<li><a href="#tabs-1">Tab 1 title</a></li>
<li><a href="#tabs-2">Tab 2 title</a></li>
<li><a href="#tabs-3">Tab 3 title</a></li>
</ul>
<div id="tabs-1">
<p>Insert tab 1 content</p>
</div>
<div id="tabs-2">
<p>Insert tab 2 content</p>
</div>
<div id="tabs-3">
<p>Insert tab 3 content</p>
</div>
</div>

Click "Update" or "Save" to save the changes you made to the product. Then go ahead and view the product on your website to make sure the tabs are showing up properly.
5. Edit the content of each tab to your heart's content After confirming that the tabs are working, continue using the HTML editor to change the tab titles and content.

Note: You may try to edit the tab content in the visual editor (rather than the HTML editor), but this tends to cause problems, since Shopify sometimes adds unwanted code that breaks the tabs. If you do this and your tabs stop working, you'll have to check the HTML editor and delete any unwanted code. You might have to come back here and copy and paste the code again.

I hope that went smoothly for you! If you had any problems, please leave a comment below with a description of the problem and I'll do my best to help.

UPDATE: How to change the appearance of these tabs using CSS

In the comments of this post, Melanie asked about how to change the appearance of these tabs to fit better with her Shopify theme. I made this video walking through some basic CSS styling--it's a bit long (22 minutes), but I think it will really help answer Melanie's question. As always, feel free to leave comments below with any other questions!

Having trouble getting this to work?

I'm happy to take a look and try to help you get this working, but please note that I can't help you unless you provide a link to your product page so I can see what you've done so far.

Back to blog

70 comments

Hey Romi, I’ve had the same problem in the past! The way I fixed it was by making sure the jQuery UI link (in Step 2) matched the VERSION NUMBER in the stylesheet link (in Step 3). For example, the jQuery UI link in step 2 above looks like this: http://code.jquery.com/ui/1.10.3/jquery-ui.js. Because this link points to version 1.10.3, the link in step 3 should also point to 1.10.3. If these versions don’t match up, you may have the scrolling problem you mentioned. Let me know if that fixes it, or if you still have problems!

Leighton Taylor

Hi Leighton, I was just looking how to create tabs for my store when I stumbled upon your very useful post! Thanks! Is there a way to create tabs like this when doing bulk CSV imports containing lots of products as opposed to creating tabs manually on each product page? Could I enter the div code into the Body field of Shopify’s csv template, customize it, and then upload the file? Thanks in advance for your help…

Earprints

Hey Earprints! Yes, my understanding is that you can include HTML in your CSV imports just like you described, so that should work fine as long as you’ve already done the other steps to include jQuery, jQuery UI, and the necessary CSS.

Leighton Taylor

Thanks Leighton! I look forward to becoming a regular reader of your blog!

Earprints

Hi….
Please help, I am having the same issue as Romi above but the js and css files are both the same version.
Infact I removed the style sheet tag and tested it and it still scrolling down with the anchor tag…
I am going crazy! Cause I have tried every fix I can find on the internet and its not fixing the problem. I know enough to know its something to do with the anchor tag working in the traditional way.. but I can’t seem to stop it from jumping down. I have implemented tags previously with an older version of jquery and had no issues. So I have no idea why its doing this but its supremely annoying! I can give you the password for the site to have a look at the page if you need to…
Thanks Lauren

Lauren

Leave a comment