Custom Accordion Builder
Custom Accordion Builder is a lightweight WordPress plugin to create and manage accordions with multiple panels, and display them anywhere via shortcodes. Ideal for FAQs and collapsible content with responsive design and smooth animations.
by Kian Kiani · github.com/kian9696/custom-accordion-builder
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/kian9696/custom-accordion-builder/archive/refs/heads/main.zipCustom Accordion Builder is a WordPress plugin that allows you to easily create and manage accordion sections, and display them anywhere using shortcodes.
It is lightweight, flexible, and ideal for FAQs, collapsible content, or structured presentations.
Features
- Create unlimited accordions with multiple panels.
- Display accordions anywhere using shortcodes.
- Simple admin interface for managing accordion items.
- Lightweight code with no unnecessary dependencies.
- Responsive design compatible with all WordPress themes.
- Smooth toggle animations for open/close states.
Installation
- Upload the plugin folder
custom-accordion-builderto the/wp-content/plugins/directory. - Activate the plugin via the Plugins menu in WordPress.
- Navigate to Accordion Builder in the WordPress admin to create your accordions.
Usage
- Create a new accordion from the plugin admin page.
- Add panels with titles and content.
- Copy the generated shortcode and paste it into any post, page, or widget.
Example shortcode:
[custom_accordion id="123"]
Where id is the accordion’s unique ID.
Requirements
- WordPress 5.0+
- PHP 7.4+
Troubleshooting
- Accordion not showing → Ensure shortcode ID is valid and plugin is activated.
- Style conflicts → May require minor CSS adjustments depending on your theme.
- JavaScript not working → Check for console errors or conflicting scripts.
Developer Notes
- Accordions are stored as custom post types.
- Shortcode rendering uses clean HTML with CSS and JS enqueued only when needed.
- Functions and hooks are prefixed with
cab_to prevent conflicts.
License
GPLv2 or later.