Make Divi Accordion Items Closeable in Divi 5 & Divi 4

Written by Dan Mossop

YouTube video

By default, Divi Accordion modules keep one toggle open. That means visitors can open another item, but they cannot simply close the currently open item and leave the whole accordion collapsed.

In this guide – updated for Divi 5 – I’ll show you how to make Divi Accordion items closeable in Divi 5 and Divi 4, so visitors can open and close each accordion section independently.

This can make FAQ sections, product details, documentation, and long content panels cleaner and easier to browse.

Quick answer:

To make a single Divi Accordion module closeable, enable the Closeable option added by Divi Booster at Accordion Settings → Design → Toggle.

To make all Accordion modules across your site closeable, enable the global Make accordions closable option in Divi Booster under Modules → Accordion.

Either option lets visitors close the currently open accordion item and leave the accordion fully collapsed.

If you prefer not to use a plugin, you can also use the jQuery and CSS snippet later in this guide, though custom code may need updating if Divi changes its accordion markup or behavior.

In this guide, I’ll cover three ways to make Divi Accordion items closeable:

1. Make individual Accordion modules closeable using Divi Booster.
2. Make all Accordion modules closeable site-wide using Divi Booster.
3. Make Accordion modules closeable manually using jQuery and CSS.

Looking for the related setting that controls the accordion’s state on page load? See how to make a Divi Accordion module start all closed.

Want the easiest option? Divi Booster adds the Closeable setting directly to the Accordion module, so you can enable it from the Divi interface without adding or maintaining code.

Make Individual Divi Accordion Modules Closeable Using Divi Booster

Use this method when you want to make one or more specific Accordion modules closeable, while leaving other accordions on your site unchanged.

Divi Booster adds a Closeable setting to individual Accordion modules, allowing that module’s items to be opened and closed independently from the module settings.

If you already have Divi Booster installed, follow the steps below. If not, you can get Divi Booster here and enable closeable accordions without adding custom code.

Enable the 'Closeable' Option in Accordion Settings

In the page or layout containing your Accordion module, open the Accordion module’s settings. Head to the Design tab, then expand the Toggle section. Here, you'll see the Closeable option. Switch the 'Closeable' toggle to On to allow users to close each accordion item independently – with no other item automatically opening in its place.

Style the Close Icon in the Module Settings

The close icon added by this feature inherits the styles of the built-in "open" icon. That means you can style both the open and close icons using the existing options in the accordion module settings: 

Save and Publish Your Changes

After making your changes in the accordion module, save your changes. When you are ready to do so, publish your page so that your changes will be applied to the live view of the page.

Test the Closeable Accordion Feature

View your accordion on the front end. You should now see that a "close" icon has been added to open toggles. Clicking on the icon or title of an open accordion toggle will now close that toggle, even if all other toggles are already closed.

(Optional) Start the Accordion Fully Closed

Closeable accordions are often used together with an all-closed initial state, especially for FAQ sections. Divi Booster also adds an Initial State option for Accordion modules, letting you choose Default, All Closed, or All Open.

See the full guide: How to Start a Divi Accordion Module All Closed

Make All Divi Accordion Modules Closeable Using Divi Booster

Use this method if you want closeable accordion behavior across your whole site, rather than enabling it one module at a time.

Divi Booster includes a global Make accordions closable option that applies the closeable behavior to Accordion modules site-wide. This affects Accordion modules across your site, while still allowing each module’s normal design settings to control its appearance.

This is useful if you use accordions throughout your site for FAQs, product information, documentation, support pages, or other expandable content.

Enable the 'Make accordions closable' Option in Divi Booster

In your WordPress dashboard, go to Divi → Divi Booster → Modules → Accordion. Enable the Make accordions closable option.

Once enabled, open accordion toggles will display a close icon and can be collapsed without forcing another toggle to open.

Save Your Changes

Click Save Changes at the top of the Divi Booster settings page to apply the setting.

Test Your Site-Wide Closeable Accordions

View one of your Accordion modules on the front end. Open a toggle, then click the title or close icon again. The toggle should close, even if no other accordion item is opened.

Style the Close Icon Globally

The close icon inherits the styling of Divi’s built-in open icon. For individual Accordion modules, you can style the icon using the module’s normal icon design settings.

If you want to apply styling globally across your site, you can use CSS such as:

/* Normal state */
.et_pb_accordion .et_pb_toggle_open .et_pb_toggle_title:before {
	color: grey !important;
}

/* Hover state */
.et_pb_accordion .et_pb_toggle_open .et_pb_toggle_title:hover:before {
	color: blue !important;
}

The example above will make the icon grey normally, changing to blue when hovered. 

(Optional) Start All Accordions Fully Closed

Closeable accordions are often used together with an all-closed initial state, especially for FAQ sections. Divi Booster includes a global 'Make accordions start fully closed by default' option that can be applied to all accordions.

See the full guide: How to Start a Divi Accordion Module All Closed

Make Divi Accordion Modules Closeable Manually Using jQuery and CSS

If you don’t want to use a plugin, you can make Divi Accordion items closeable with custom jQuery and CSS. This is useful for one-off customizations, but because it relies on Divi’s front-end markup and animation classes, you may need to revisit the code after future Divi updates.

Add Custom jQuery and CSS in Divi Theme Options

Navigate to the Divi > Theme Options page in your WordPress dashboard, and go to the Integration tab. In the section labeled Add code to the <head> of your blog, paste the following code. This script and style allow users to close open accordion items with a click.

When added in Divi Theme Options, this code applies to Accordion modules across your site. For a single page only, you can instead place the code in a Code module on that page.

For a no-code version, use one of the Divi Booster methods above: the module-level setting for a single accordion, or the global setting for all accordions.

Otherwise, paste the following code:

<script>
jQuery(function($){
  $('.et_pb_toggle_title').click(function(){
    var $toggle = $(this).closest('.et_pb_toggle');
    if (!$toggle.hasClass('et_pb_accordion_toggling')) {
      var $accordion = $toggle.closest('.et_pb_accordion');
      if ($toggle.hasClass('et_pb_toggle_open')) {
        $accordion.addClass('et_pb_accordion_toggling');
        $toggle.find('.et_pb_toggle_content').slideToggle(700, function() { 
          $toggle.removeClass('et_pb_toggle_open').addClass('et_pb_toggle_close'); 

        });
      }
      setTimeout(function(){ 
        $accordion.removeClass('et_pb_accordion_toggling'); 
      }, 750);
    }
  });
});
</script>
<style>
.et_pb_accordion .et_pb_toggle_open .et_pb_toggle_title:before {
    display: block!important;
    content: "\e04f" !important;
}
</style>

Save Theme Option Changes

Once you have pasted in the code, click the Save Changes button at the top of the Theme Options page to apply your new settings.

Insert an Accordion Module and Publish

Add an Accordion module to your desired row using Divi Builder. You can style the accordion as usual – no module setting changes are needed to enable closeable functionality with this method. When you're finished, save your changes.

Test Your Closeable Accordion

On the front end, test your accordion by clicking any accordion item’s title to open or close it. Thanks to your custom code, your visitors can close any sections they are finished reading.

(Optional) Add a Second Close Icon to Long Accordion Toggles

If you have very long accordion content, visitors may need to scroll back to the top of the toggle to close it. In that case, you can add a second close icon at the bottom of each open toggle using the additional code below.

Use this in addition to the main jQuery and CSS code above:

<script>
jQuery(function($){
	$('.et_pb_toggle_title').each(function(){
		var $title = $(this);
		var $closebar = $title.clone(true).addClass('db_pb_toggle_close2').html(' ');
		$title.closest('.et_pb_toggle').append($closebar);
	});
		
  	$('.db_pb_toggle_close2').click(function(){ // Listen for clicks on the close bar
    		var $toggle = $(this).closest('.et_pb_toggle');
    		var mainAreaOffset = $('#et-main-area').length ? $('#et-main-area').offset().top : 0;
    		$('html, body').animate({scrollTop: $toggle.offset().top - mainAreaOffset - 16}, 700); // Scroll considering the main area's top offset
  	});
});
</script>
<style>
	.et_pb_toggle_close .db_pb_toggle_close2 {
		display: none; 
	}
	.db_pb_toggle_close2 { 
		margin-top: 10px; 
		visibility: hidden;
	}
	.db_pb_toggle_close2:before {
		visibility: visible;
	}
</style>

Customize the Accordion Further

Once your accordion items can be closed, you may also want to make the accordion start with all items closed, or add a button that opens and closes every toggle at once.

See also:

Conclusion

Making Divi Accordion items closeable gives visitors more control over what stays open on the page, which is especially useful for FAQs, product details and long information sections.

For the simplest setup, use Divi Booster to enable closeable accordions from the module settings or apply the behavior site-wide from the Divi Booster settings page. If you prefer a manual approach, the jQuery and CSS method above can also be used, though it may require maintenance after future Divi updates.

Make Divi Accordions Closeable Without Code

Want to make Divi Accordion items closeable without adding custom jQuery? Divi Booster adds closeable accordion options directly to Divi, including a module-level Closeable setting and a global option for applying the behavior across your site. It also includes related accordion settings, such as starting accordions fully closed, making it a simple way to improve FAQ sections, product information panels and other expandable content.

About Dan Mossop

Dan is a Scottish-born web developer, now living in Brisbane with his wife and son. He has been sharing tips and helping users with Divi since 2014. He created Divi Booster, the first Divi plugin, and continues to develop it along with 20+ other Divi plugins. Dan has a PhD in Computer Science, a background in web security and likes a lot of stuff, 

We may earn a commission when you visit links on our website.

131 Comments

  1. Hi Dan,
    I've been trying your code above and it's not working for me. I've tried putting the code into the and also tried in a code module placed above the Accordian module.

    Have things changed with Divi 4.0+ that would make your code no longer work?

    Thanks!

    Reply
    • Hi Ken, I've been doing some testing and it is still working correctly for me in Divi 4.0+. Is there any chance you're able to point me to an example page so that I can take a look at why it isn't working for you? Thanks!

      Reply
  2. I don't know if anyone else is running into issues, but the CSS listed above is broken. I changed it to the following and it worked:

    .et_pb_toggle_open .et_pb_toggle_title:before {
    display: block !important;
    content: "\e04f";
    }

    The original code is missing the forward slash.

    Reply
    • Hi Colin, you're right, there should be a slash. It looks like it got stripped out from the code somehow. I've added back in now. Thanks for pointing that out!

      Reply
  3. I purchased the Divi Booster plugins mainly for this function of automatically closing the accordeon entries when opening another one. But it doesn't seem to work. I checked "Make accordions closable" in the Divi booster settings. Anything else that needs to be done?

    Thanks for your help!

    Reply
    • Hi Mandy, the default behavior in Divi is that the accordion module automatically closes any open entries when you click to open another. If you're not seeing this, are you using individual toggle modules rather than the accordion module? The toggle modules act separately from one another. If you are using individual toggle modules, you might find that you can do what you want with the accordion module instead.

      The code described in this post, and the corresponding Divi Booster feature, are for making it possible to manually close entries in the accordion module. By default Divi always keeps one open – you can never close them all. This code / feature allows your users to close them all.

      I hope that helps, but if you still aren't able to get the effect you want, perhaps you can send me a link to the page you're working on so that I can take a look at how you have things set up? Thanks!

      Reply
  4. Oh my word!
    Thank you so much for the Divi Booster plug In.
    I bought it because of the Toggle issue getting one to close when the other is opened but now I see tons of goodies!

    As I am not a seasoned coder, this has taken away tons of hours of looking for solutions on the internet, reading every post and comments to see what worked for whom, what did not work and which workaround was applied.

    Well worth the price.
    You are a god man Dan!

    Reply
  5. Brilliant! I needed to use the accordion as a way to have a "read more" within a post. Took me a while to figure out that's not what the does. This solution worked perfectly – thanks for adding the CSS for the close tag too!

    Reply
  6. Awesome, thanks!

    Reply
  7. Thank You so much. That's very helpful for me to make my website professional…

    Reply
  8. The snippet works fine but the first tab is opened by default. In your example is closed. Anything else to do that? thks for your scripts!

    Reply
  9. Perfect!

    Reply
  10. YEAH! Great man! Thanks

    Reply
  11. Same for me – it used to work but doesn't work anymore. Maybe it has to do with a recent Divi update? Please check!

    Reply
    • Hi Chris, how / where are you adding the code? I took a look, but can't see any sign of the code being included in the page or affecting the accordions. I could have just missed it, of course, but it may be worth checking that the way you are adding it to the site is still working (and perhaps trying to re-add the code). Thanks!

      Reply
  12. HI Dan, I have selected the two options under accordian, as well as put the php into the header of my Divi theme, but nothing is working. I currently have a maintenance screen up there, as we don't go live for a couple of weeks. Can you make any recommendations?

    Reply
    • Hi Brenda, you should only add the code in one place (either in Divi Booster, or in the header), not both as the repeated code can conflict with itself. Other than that, clear the caches in any performance plugins you have installed and check you don't have any JavaScript errors in the page, as such errors could prevent the accordion code from running. You can check for JavaScript errors by opening your browser's JavaScript console: https://code-maven.com/open-javascript-console

      If you're still having trouble after that, perhaps you could send me login details for the site (via the contact form) so that I can take a look?

      Reply

Submit a Comment

Comments are manually moderated and approved at the time they are answered. A preview is shown while pending but may disappear if your are cookies cleared - don't worry though, the comment is still in the queue.

Your email address will not be published. Required fields are marked *.

Get this feature

This feature is available in the following plugins:

Divi Booster

About Divi Booster

Compatible with

Divi 5

Divi 4

News