Content · Elementor

Accordion widget for Elementor

Collapsible panels for FAQs, policies, and long answers. One heading per panel; the body stays hidden until the visitor opens it.

Open live demo

Get King Addons

This page describes the PHP/JS for this widget — not a renamed stub. Install the free plugin from WordPress.org.

Get King Addons

What it actually does

Collapsible panels for FAQs, policies, and long answers. One heading per panel; the body stays hidden until the visitor opens it.

Accordion widget for Elementor. Renders expandable items from a repeater of titles and WYSIWYG content.

render() writes HTML data attributes: data-accordion-trigger, data-accordion-type, data-active-index, data-interaction-speed.

get_script_depends() enqueues: lightgallery-lightgallery.

Some inspector controls are marked Pro in PHP (eicon-pro-icon / king-addons-pro-control). Those need King Addons Pro, not Elementor Pro.

How to add it in Elementor

  1. Install King Addons. Install Elementor and King Addons. Get King Addons from WordPress.org.
  2. Edit with Elementor. Open a page and click Edit with Elementor.
  3. Insert the widget. Search the panel for “Accordion”. Typing “king” lists every King Addons widget.
  4. Set inspector controls from this widget’s PHP. Configure “Title”, “Content Type”, “Select Template”, “Select Icon”. Style and Content tabs are listed on this page.
  5. Preview the published page. Accordion widget for Elementor. Renders expandable items from a repeater of titles and WYSIWYG content.

When to use it

Tip: After King Addons is active, type king in the Elementor search box to list every widget, including Accordion.

Inspector controls from this widget’s PHP

ControlWhat the code does
Accordion Items — TitleText inspector control (`accordion_title`).
Accordion Items — Content TypeSelect inspector control (`accordion_content_type`).
Accordion Items — Select TemplateAjax Select2: options load from a King Addons admin-ajax endpoint.
Accordion Items — Select IconIcon rendered with Elementor Icons_Manager in this widget’s HTML.
Accordion Items — ContentWysiwyg inspector control (`accordion_content`).
Content — Accordion ItemsRepeater rows; render() loops each item to build the list or slides.
Settings — Accordion TypeWritten to the `data-accordion-type` HTML attribute in render(). Options: Accordion; Toggle.
Settings — TriggerWritten to the `data-accordion-trigger` HTML attribute in render(). Options: Click; Hover.
Settings — Title HTML TagThe chosen value is read in render() and applied on the front end. Options: Span; H1; H2; H3; H4; H5; H6.
Settings — Animation DurationWritten to the `data-accordion-trigger` HTML attribute in render(). Numeric value used in this widget’s render/JS (default 0.4, min 0, max 2).
Settings — Active Item IndexWritten to the `data-active-index` HTML attribute in render(). Numeric value used in this widget’s render/JS (default 1, min 0).
Settings — Show Search (Pro)When this switch is on, render() outputs the wrapped markup.
Settings — Select IconIcon rendered with Elementor Icons_Manager in this widget’s HTML.
Settings — PlaceholderWritten to the `placeholder` HTML attribute in render().
Icons — PositionThe chosen value is read in render() and applied on the front end. Options: Default; Reverse.
Icons — Box StyleThe chosen value is read in render() and applied on the front end. Options: None; Side Box; Side Curve.
Icons — Box WidthWrites CSS `width` onto the widget’s front-end markup. (min 0, max 200).
Icons — Triangle WidthWrites CSS (border-left, king-addons-acc-button) onto the widget’s front-end markup. (min 0, max 100).
Icons — Select Toggle IconIcon rendered with Elementor Icons_Manager in this widget’s HTML.
Icons — Select Toggle Icon ActiveIcon rendered with Elementor Icons_Manager in this widget’s HTML.
Icons — Active Icon RotationWrites CSS (transform, transform-origin) onto the widget’s front-end markup. (min 0, max 360).
Title (Normal) — ColorWrites CSS `color` onto the widget’s front-end markup.
Title (Normal) — BackgroundElementor background group: classic color/image or gradient on the selector. Selector: `{{WRAPPER}} .king-addons-advanced-accordion .king-addons-acc-button`.
Title (Normal) — Border ColorWrites CSS `border-color` onto the widget’s front-end markup.
Title (Normal) — Box ShadowElementor box-shadow group for the selector. Selector: `{{WRAPPER}} .king-addons-advanced-accordion .king-addons-acc-button`.
Title (Normal) — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-advanced-accordion .king-addons-acc-button, {{WRAPPER}} .king-…`.
Title (Normal) — TransitionWrites CSS `transition` onto the widget’s front-end markup. (default 0.3, min 0, max 5).
Title (Hover) — ColorWrites CSS (king-addons-acc-button, color) onto the widget’s front-end markup.
Title (Hover) — BackgroundElementor background group: classic color/image or gradient on the selector. Selector: `{{WRAPPER}} .king-addons-advanced-accordion .king-addons-acc-button:hover`.
Title (Hover) — Border ColorWrites CSS (king-addons-acc-button, border-color) onto the widget’s front-end markup.
Title (Hover) — Box ShadowElementor box-shadow group for the selector. Selector: `{{WRAPPER}} .king-addons-advanced-accordion .king-addons-acc-button:hover`.
Title (Active) — ColorWrites CSS `color` onto the widget’s front-end markup.
Title (Active) — BackgroundElementor background group: classic color/image or gradient on the selector. Selector: `{{WRAPPER}} .king-addons-advanced-accordion .king-addons-acc-button.king-addons-acc-active`.
Title (Active) — Border ColorWrites CSS `border-color` onto the widget’s front-end markup.
Title (Active) — Box ShadowElementor box-shadow group for the selector. Selector: `{{WRAPPER}} .king-addons-advanced-accordion .king-addons-acc-button.king-addons-acc-active`.
Title — Vertical GutterWrites CSS (margin-top, margin-bottom) onto the widget’s front-end markup. (min 0, max 50).
Title — Title Left DistanceWrites CSS `margin-left` onto the widget’s front-end markup. (min 0, max 50).
Title — PaddingWrites CSS `padding` onto the widget’s front-end markup.
Title — Border TypeWrites CSS `border-style` onto the widget’s front-end markup. Options: None; Solid; Double; Dotted; Dashed; Groove.
Title — Border WidthWrites CSS `border-width` onto the widget’s front-end markup.
Title — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.
Icons (Normal) — Main Icon ColorWrites CSS (color, fill) onto the widget’s front-end markup.
Icons (Normal) — Toggle Icon ColorWrites CSS (color, fill) onto the widget’s front-end markup.
Icons (Normal) — Icon Box Bg ColorWrites CSS `background-color` onto the widget’s front-end markup.
Icons (Normal) — TransitionWrites CSS `transition` onto the widget’s front-end markup. (default 0.3, min 0, max 5).
Icons (Hover) — Main Icon ColorWrites CSS (king-addons-acc-button, color, fill) onto the widget’s front-end markup.
Icons (Hover) — Toggle Icon ColorWrites CSS (king-addons-acc-button, color, fill) onto the widget’s front-end markup.
Icons (Hover) — Icon Box Bg ColorWrites CSS (king-addons-acc-button, background-color) onto the widget’s front-end markup.
Icons (Active) — Main Icon ColorWrites CSS (color, fill) onto the widget’s front-end markup.
Icons (Active) — Toggle Icon ColorWrites CSS (color, fill) onto the widget’s front-end markup.
Icons (Active) — Icon Box Bg ColorWrites CSS `background-color` onto the widget’s front-end markup.
Icons — Main Icon SizeWrites CSS (font-size, width) onto the widget’s front-end markup. (min 0, max 50).
Icons — Toggle Icon SizeWrites CSS (font-size, width) onto the widget’s front-end markup. (min 0, max 50).
Icons — Icon Box Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.
Content — ColorWrites CSS `color` onto the widget’s front-end markup.
Content — Background ColorWrites CSS `background-color` onto the widget’s front-end markup.
Content — Border ColorWrites CSS `border-color` onto the widget’s front-end markup.
Content — Box ShadowElementor box-shadow group for the selector. Selector: `{{WRAPPER}} .king-addons-advanced-accordion .king-addons-acc-panel`.
Content — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-advanced-accordion .king-addons-acc-panel .king-addons-acc-pan…`.
Content — PaddingWrites CSS `padding` onto the widget’s front-end markup.
Content — Border TypeWrites CSS `border-style` onto the widget’s front-end markup. Options: None; Solid; Double; Dotted; Dashed; Groove.
Content — Border WidthWrites CSS `border-width` onto the widget’s front-end markup.
Content — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.

Content and Style tabs from this widget’s PHP, including repeater fields and group controls (typography, background, border, shadow). Elementor’s Advanced tab is core Elementor and is not listed here.

FAQ

Which Accordion options need King Addons Pro?

Controls marked with the Pro icon in this widget’s PHP. King Addons Pro is a separate license from Elementor Pro.

Can more than one panel stay open?

Use Accordion Type: Accordion keeps a single panel open; Toggle lets visitors open several. Set this in the Content tab.

Can a panel load an Elementor template?

Yes on Pro: set the item content type to Elementor Template. Free items use the text editor.

How do I add Accordion in Elementor?

Install King Addons and Elementor, edit a page, search the panel for “Accordion”, drag it onto the canvas, then set Content and Style.

Do I need Elementor Pro?

No. King Addons runs on free Elementor. Some King Addons options (for example template-in-accordion, extra popup conditions, parts of the template catalog) need King Addons Pro — not Elementor Pro.

Related content widgets

Get King Addons

One free plugin. 80+ Elementor widgets, 650+ templates, and 4,000+ sections. Search for Accordion after you activate it.

Get King Addons