Custom Post Carousels with Owl


This plugin uses the Owl Carousel 2 jQuery plugin to create carousels (sliders) from any built in or (public) custom post type in WordPress. You can use this plugin to make:

  • Product Carousels
  • Featured Product Carousels
  • Carousel by post (product) ID
  • Testimonial Sliders (Carousels)
  • Event Sliders
  • Latest Posts
  • More

Easy to use controls allow for customization of each carousel with options to show or hide Titles, Featured Image, Call to Action buttons (links) and more.

This plugin is simple and without on screen nags, promotions or upsells.


  • Admin View of a Featured Product Carousel
  • Admin View of choosing by post ID.
  • Admin View of Chosen Category
  • Public Large Desktop View. With Featured Image and CTA Link to item.


This section describes how to install the plugin and get it working.

  1. Upload owl-carousel-2.php to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‚Plugins‘ menu in WordPress
  3. Click on the menu item called Carousels
  4. Create your carousel.
  5. Copy the Shortcode and place in your page or post, or place <?php echo do_shortcode('[dd-owl-carousel id="1" title="Carousel Title"]'); ?> in your templates


I made the carousel, but now I can’t see it.

Make sure you insert the shortcode created by the plugin.

Can I use multiple carousels on a single page?

Yes, you can use as many as you want. Each one will have it’s own CSS ID so you can target them in your custom CSS files if you need to.

Are there programming Hooks?

Yes, there are 2 hooks. One is before the carousel contents, and the other is after the contents. There will be more enhancement to this at a later date.

  1. dd-carousel-before-content
  2. dd-carousel-after-content

These hooks pass 1 parameter which is $carousel_ID if needed.

Example to add pricing for WooCommerce Carousels – Add to your theme functions.php :

    function add_wc_price_to_carousel(){
    global $post, $woocommerce;
    $product = wc_get_product( $post->ID );
    if ($product) {
        echo '<p class="price">$' . $product->get_price() . '</p>' ;
        echo '<a href="'.get_permalink( $post->ID ).'" class="btn btn-primary ">Shop Now</a>';
    add_action('dd-carousel-after-content', 'add_wc_price_to_carousel', 10);
Can I Filter the Query Arguments?

Yes, there is currently one filter.

  • dd_carousel_filter_query_args

This filter passes 2 variables. $args the current arguments of the WP_Query and $carousel_id which is the ID of the carousel you want to filter.

Example to create your own custom Query – Add to your theme functions.php :

add_filter('dd_carousel_filter_query_args', 'filter_carousel', 10, 2);
function filter_carousel($args, $carouselID){
    if ($carouselID == 9803){
    $args = array(
        'post_type'              => array( 'post' ),
        'meta_query'             => array(
                'relation' => 'AND',
                    'key'     => '_chosen_store',
                    'value'   => '1',
                    'compare' => '>=',
                    'type'    => 'NUMERIC',
    return $args;


14. Juni 2019
I was SO HAPPY to finally find a carousel plugin that did just what I needed and had customization tools that let me display a single-post at a time carousel based on a category. Really, it was a total relief to find this simple, free plugin after trying just about every other one that always seemed to include a secret up-sell gotcha to do something basic. I'm donating to the developer and you should, too. I'm not sure why this isn't at the very top of the stack of carousel plugins, some of which are really subpar. Only pick was that the programming hooks ("dd-carousel-before-content" and dd-carousel-after-content") seemed to only let you include something inside the owl-item div rather than the owl-carousel div, which is what I assumed based on the name of the hooks.
Lies alle 3 Rezensionen

Mitwirkende & Entwickler

„Custom Post Carousels with Owl“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:




Add Parameter to action hooks for carousel ID.


Minor fix on admin switching between Product choices.


Added Taxonomy Carousel and filter for main Query.


Fix issue with multiple WC Categories


Add multi selection for Taxonomy Terms.


Add Placeholder image for no-image


Fix Error with AQ Resize


Add Thumbnail Image Sizes


Allow for empty excerpt under title.


Change admin script to only enqueu on carousel custom post type.


Initial Release