Updated on February 06, 2020

This members-only tutorial provides the steps to instantiate Flickity on the output of Oxygen's Repeater component for setting up a WooCommerce product carousel.

Live Demo

Step 1

Edit the Page/Template where you want to add the product carousel with Oxygen editor.

In my test site, I have edited the Page set as homepage (at Settings > Reading).

Add a Section.

Add a Repeater component.

Query > manual.

Query Params:


This is a premium members-only content.

To view the rest of the content, please sign up for membership ($37/month or $399 one-time).

Already a member? Log in below or here.

Need help implementing a tutorial in your site or want to hire me for custom work?


Find the article helpful and wish to donate?



For adding code blocks wrap the code in three backticks. Markdown should work.
Provide a URL of your site/webpage if something is not working.

16 comments on “WooCommerce Product Carousel in Oxygen using Repeater and Flickity”

  1. How could we possible make these show as the same height Sridhar – some products have long descriptions and things can look real messy real quick.

  2. Hi Sridhar,
    I’m redoing a site with oxygen and I followed the tutorial to create the carousel of woocommerce products but I must have done something wrong, as you can see from the images appear pagination numbers. To see live you can visit this link: https://www.fiorinaedizioni.com/sito-oxygen/


    What can be the cause of this?

  3. Update: I inserted the images in some products (which first showed the oxygen placeholder) and now the carousel seems to work correctly also in the second tab.

    Problem solved??

  4. After adding the image to another product the problem came up again … I’m a bit confused, now I see what happens after adding all the images to the products.

  5. Seems to be a flickity problem: https://github.com/metafizzy/flickity/issues/930

    on github a user says to enable resizing in the box with this:

    // trigger resize on tab bread
    $ (“#” + selector + “.carousel”). flickity ();
    $ (“#” + selector + “.carousel”). flickity (‘resize’);


    but I don’t know how to modify and where to add this (in the file flickity-init.js?).

  6. Hi Sridhar,

    I have a problem with the broken layout of carousel (see screenshots attached bellow [1]). When I resize a browser window, the layout fixes itself immediately. Therefore I tried to use imagesLoaded: true option even before you’ve added to the tutorial. It didn’t help though.
    After investigating the problem deeper, I’ve found out that it has probably something to do with css minification. Even though I’ve excluded flickity css and js files from optimization (those stored in my-custom-functionality plugin), it didn’t help either.

    Is there any way to store css snippet mentioned in step 3 as an external file to be able exclude it from minification? (it seems to be responsible for broken layout)


    [1] https://postimg.cc/gallery/28029xile/

    Kind regards,

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram
%d bloggers like this: