Collapse-O-Matic adds an [expand] shortcode that will wrap any content, including other shortcodes, into an accordion expanding and collapsing element. A complete listing of shortcode options and attribute demos are available, as well as free community support.

Fota wobrazowki

  • Hmmm... wonder what happens this text by that arrow is clicked?
  • Holy Crap! That other text just showed up like magic! Thank you Collapse-O-Matic!
  • Options Page? Yes, Options Page!


  1. Old-school: upload the collapse-o-matic folder to the /wp-content/plug-ins/ directory via FTP. Hipster: Ironically add collapse-o-matic via the WordPress Plug-ins menu.
  2. Activate the Plug-in
  3. Add a the shortcode to your post like so: [expand title="Displayed Title Goes Here"]Hidden content goes here[/expand]
  4. Test that the this plug-in meets your demanding needs.
  5. Tweak the CSS to match your flavour.
  6. Rate the plug-in and verify if it works at
  7. Leave a comment regarding bugs, feature request, cocktail recipes at


Where can I translate this plugin into my favourite language?

Community translation for Collapse-O-Matic is available via the WordPress Translation project.

I am a Social Netwookiee, might Twinpictures have a Facebook page?

Yes, yes… Twinpictures is on Facebook.

Does Twinpictures do the Twitter?

Ah yes! @Twinpictures does the twitter tweeting around here.

How does one use the shortcode, exactly?

A complete listing of shortcode options has been provided to answer this exact question.

Is Galato the same as Ice Cream?

No. Not even close.


24. awgusta 2023
A recent release cause a issue when HTML is used within the plugin shortcodes. I quickly found a relevant support thread that the developer was actively replying to. Weighed in as one of the fixes partially worked for me and @twinpictures rolled out another update at lighting speed and we are good to go! That being said, I plan to see if the developer offers any other plugins I might be able to use considering how easy they are to reach.
5. junija 2023
Not updated for 2023, the read more function is render blocking and provide a very bad User Experience on site, we don't recommend use this plugin or check if developer have update this problem after this review. Sorry.
9. meje 2022
This plugin saved me many times, also the creators are crazy good, and always help!
12. měrca 2022
i use the free version of the plugin , it is an awesome plugin ,i ran into a problem on a friday evening and left a support question on the free support forum. i had an answer with working solution after ONE hour , ive paid plugins with support that take longer ( a lot) than this , the paid version with support must be unreal!! thank you for a brilliant plugin and brilliant support....
Čitajće 235 pohódnoćenjow

Sobuskutkowarjo a wuwiwarjo

„Collapse-O-Matic“ je softwara wotewrjeneho žórła. Slědowacy ludźo su k tutomu tykačej přinošowali.


„Collapse-O-Matic“ je so do 2 rěčow přełožił. Dźakujemy so přełožowarjam za jich přinoški.

Přełožće „Collapse-O-Matic“ do swojeje rěče.

Na wuwiću zajimowany?

Přehladajće kod, hladajće do SVN-repozitorija abo abonujće wuwiwanski protokol přez RSS.

Protokol změnow

  • removed escaping on excerpt/swapexcerpt

  • removed the wp_kses_post sanitising from content

  • title, swap title and content are being sanatzied using the wp_kses_post function

  • no longer escaping swaptitle

  • no longer escaping or sanatizing title string


  • using sanatize_title for the title tag


  • fully tested with WordPress version 6.3.0
  • added orderby and order attributes for ordering collapse-commander sub-elements
  • further escaping to protect against XSS attacks


  • added fadeOnly effect option
  • fully tested with WordPress version 6.0.1
  • swap title also swaps the title attribute if used
  • escaped all attributes before output


  • custom css now added to new core.css file that is not affected if no default style is loaded.
  • fully tested with WordPress version 5.8.2


  • options passed using the preferred wp_add_inline_script


  • improved collapse-commander integration
  • improved method of adding custom css
  • options passed using wp_localize_script
  • escaped options to improve security


  • tried to fixed spacing issue by forcing elwraptag as a div, but this will effect inline expands. Will need to add elwraptag as an option.
  • fully tested with WordPress 5.8.1
  • migrated plugins home over to


  • corrected typos
  • cleaned up code
  • added togglegroup highlander grouping
  • fixed issue of rel or group values that consist only of numbers
  • findme now supports auto, trigger, target and numeric values
  • removed excerpt the_content filtering, added added filters for excerpt and swapexcerpt
  • fully tested with WordPress 5.6.0


  • fixed expand_all triggers to work with maptastic
  • fully tested with WordPress 5.4.1


  • added swaptitle capability to extra triggers
  • fully tested with WordPress 5.2.1


  • target the document.body
  • improved random id generation when no id is assigned
  • added colomat shortcode as an alias for expand
  • added notitle to options page


  • jQuery selector for expandanchor no longer needed.
  • jQuery selectors look for exact match for targets, preventing multiple targets expanding if the id’s end the same.
  • alt tag not used unless alt value is provided
  • reworked the way url hashtags are handled to include manual hash changes in url


  • touchstart binding now an option


  • added check for a callback function: colomat_callback on any expand element state change
  • added Initial Pause option to pause initial collapse of expand elements on page load
  • tabindex allows for a value of 0
  • if cid is provided and no cid exists, shortcode will return blank
  • added collapse-commander display id and title options for shortcodes
  • merged is_valid_jquery_selector function from csummer on github
  • added touchstart to click bindings
  • fully tested with WordPress 4.9.0


  • integrated collapse-commander expand templates
  • fully tested with WordPress 4.8.1


  • fully tested with WordPress 4.8


  • fixed issue with external triggers for nested elements
  • changed links to https
  • fully tested with WordPress 4.7.3


  • added effect and duration attributes and data-attributes
  • if duration is a number, string will be converted to integer
  • fully tested with WordPress 4.6


  • adjusted data-findme to deal with ‘auto’ value
  • added the must-be-one class to force one highlander element to stay open


  • integrated new collapse-commander image trigger feature
  • added new togglegroup shortcode attribute and data-togglegroup html attribute to reference groups of expand elements with out auto-collapsing other groups, such as when using the rel attribute
  • added the ability to load plugin css only when shortcode is used
  • removed language files in favour of WordPress language packs
  • fully tested to work with WordPress 4.5


  • reworked the find-me feature to use new data-findme attribute, rather than create a hidden element.


  • renamed language files to xx_XX.po and
  • recreated the .pot file


  • hash-bang (#!) that are used in urls will not be processed as url anchors
  • now checks if a url anchor is actually an existing element before trying to process it
  • changed language domain to jquery-collapse-o-matic to work with WordPress’ new translation process
  • updated tested up to tag to 4.3.1


  • added map resize support for google maps builder


  • removed css that changed the display to block on focus


  • added css to remove the border on focus


  • added styles and jQuery for accessibility: focus/keyboard navigation


  • added catch-all callback for jetpack’s infinite-scroll
  • fix: XSS Vulnerability


  • fixed filter_content toggle bug.
  • even if content is not to be filtered, it will still be passed through do_shortcode function


  • added filter_content to the options page, defaults to off


  • added filter attribute to pass the content through the_content filter
  • changed name of wpex_clean_shortcodes function
  • tested up to: WordPress 4.2-alpha-31047


  • maptastic class only removed when present
  • maptastic has a max-width assigned to prevent content from entering display area.
  • updated collapse-commander integration to work with new licensing system
  • tested up to: WordPress 4.2-alpha-31047


  • added plugin to GitHub:
  • added new tabindex attribute to shortcode and options page
  • registration fields are masked using password input type


  • added shortcode and html support for the title, swaptitle, startwrap, enwrap and excerpt attributes using placeholders
  • added wpex_clean_shortcodes filter to strip unwanted p and br tags from the shortcode
  • added the ability to set trigclass, targtag and targclass attribute values in the plugin options page


  • added colomat-swap class to the swaptitle element
  • added optional cid default to the shortcode


  • fixed undeclared cid variable


  • fixed issue with using id anchor links on elements with expanded=‘true’
  • added support for Collapse Commander add-on plugin to manage expand elements


  • change the find me element from an anchor to an input due to HTML5 no longer supporting the Name attribute
  • fixed bug with trigpos inline
  • added span_fix classes to css files
  • added 4.0 icons to assets


  • fixed issue with missing classes in dark style
  • streamlined the collapse/expand function
  • streamlined the collapseall/expandall functions
  • added auto to scrollonclose attribute
  • added new colomat_expandall and colomat_collpaseall functions that can be triggered externally


  • load scripts only if shortcode is in use defaults to false – load all the time
  • added option to choose where all scripts will load: header or footer


  • option to only load scripts if shortcode is in use
  • script now loaded in footer
  • loading js and css now hooked to wp_enqueue_scripts rather than init
  • added Serbian language files courtesy of Borisa Djuraskovic from


  • fixed admin_init error


  • updated for 3.8
  • cleaned up old code


  • updated .on method
  • removed php4 constructor
  • added DE and RU languages


  • shortcode works in sidebar widgets (again)
  • fixed hasClass error in Slide Only animation option


  • find-me now is called only after collapse/expand animations
  • using .on() method once again
  • updated Requires at least tag to 3.3
  • added swapexcerpt
  • fixed typos on the options page
  • added custom css to options page
  • added targtag and targpos attributes
  • added the ability to insert extra external triggers


  • find-me auto feature improved to work with responsive websites


  • completely re-wrote plugin
  • added sweet-sweet options page
  • added colomat-expand-only class that forces collapse element to only open once and stay open
  • introduced Collapse-Pro-Matic for Premium Level Collapsing Action.
  • added scroll-to-trigger class for Internal Collapse Triggers
  • added livequery to bind collapse functions to dynamically added content
  • added callbacks: collapse_init(); and findme(); for dynamically added content
  • added language files for localization


  • added colomat-parent-highlight class functionality
  • moved findme auto calculations until after all images have loaded.
  • Added elwraptag and elwrapclass attributes
  • Added snap-shut class to slam collapse elements shut


  • Added colomat-nolink class for anchor tags to prevent auto-scrolling to anchor
  • bot- links for targets with swaptitle will now only swap out title for top trigger text


  • Replaced on() event handler back to click due to the WordPress world not quite ready for on(). People are still using jQuery 1.6.4 – can you believe that?!


  • Click events now use jQuery’s on() event handler for content that arrived dynamically via AJAX NOTE: plugin now requires jQuery version 1.7 or newer
  • added notitle attribute if no title should be displayed
  • added startwrap and enwrap attributes for wrapping titles
  • fixed bug when using nested close links and highlander grouping
  • added expandanchor to expand items from anchor links on the same page
  • added colomat-expand-only class to prevent collapse from trigger text
  • added scrollonclose attribute and scroll-to-trigger class to trigger auto-scroll to specific value on close.


Fixed auto-expand of urls with id-anchors


  • fixed JS error in 1.4.5 – GRRR


  • Added SlideFade/SlideToggle option
  • Visited trigers now have colomat-visited class


  • Minified javascript for faster page loads


  • Added the findme attribute to auto scroll to start of expanded items


  • Added speed adjustment to the slideToggle


  • Autoclose elements will now trigger SwapTitle


  • Relaunched of plugin page on Twinpictures‘ Plugin Oven


  • Added alternate style sheet for sites with dark backgrounds.


  • Improved nesting collapse function for sub-levels and added support for nesting 30 levels deep.

  • Added noarrows class for better integration of images as triggers.


  • Bug Fix for the new trigpos attribute, stupid, stupid, stupid


  • Added trigpos attribute to position the trigger below the target.


  • Fixed the Enqueue error (thanks pborg & lancehudson)
  • Expand All and Collapse All will now also trigger swap titles
  • Added force_content_collapse class trigger to hide all targets w/o tirggers (roll-your-own)
  • Added content_collapse_wrapper class trigger that keeps targets hidden if no JavaScript is present.


  • Added the ability to place a second trigger link inside the expanding content area.


  • Added the ‚tracy patch‘ that will collapse all nested items if the parent is collapsed via highlander grouping.


  • Added excerpt feature and all related attributes.


  • Swaptitle system rebuilt to support images and cufon.
  • Updated CSS the over generalized names close and hover to more plug-in specific colomat-close and colomat-hover
  • removed !important from CSS arrow definitions to make it easier to redefine arrows.


  • Swaptitle will not be triggered if either or tags are used in trigger titles
  • Added rel grouping to the collapse/expand-all triggers to target only elements of a single group.


  • Expand elements containing content with one empty space will no longer insert empty target elements.


  • Added expandsub1 – expandsub3 shortcodes for nested expand elements.
  • Added collapse/expand-all triggers.
  • Better looking 24bit arrows.


  • Plug-in now degrades gracefully if JS is disabled. Added swaptitle attribute to change the title on expand/collapse.


  • Random ID’s now start with letters, for valid xhtml.


  • Changed ‚-member‘ to ‚-highlander‘ because it sounds better.


  • Added the ability to have only one member of a group expanded by adding ‚-member‘ to the rel attribute value.


  • Added Expanded attribute that sets the default position expanded open.
  • Added style that moves arrows to the right of the text.


  • Added the hover style to pimp the element style when moused over.


  • Added the rel attribute to deal with grouping collapse elements.
  • Added the trigclass and targclass attributes.
  • Added the alt attribute to define the title’s hover-over text.


  • Expanded the shortcode to include an optional tag attribute. The system defaults to wrapping the trigger in a span tag.
  • Style will support various element tags… span, div, h1, h2… etc.
  • Style separates the arrow icons, so there is no background bleed-over on extra-long trigger titles.


  • Optimized Code
  • Shortcode now works in Sidebar
  • Expand Titles now have title tags that match the title, not just some random number
  • Shortcode can include a user-defined ID instead of a generated random number
  • Added auto expand feature if an anchor tag is used in the URL


  • The plug-in came to be.