Gallery is a WordPress ability from The Plus Addons for Elementor — usable via Easy MCP AI, which connects Claude, ChatGPT, and any AI assistant to your site.
Install Free Plugin →Gallery
WriteAdds the The Plus "Gallery" widget (tp-gallery-listout) to an Elementor container.
Requires the The Plus Addons for Elementor plugin (which registers under the 'tpae' ability category) on WordPress 6.9+, with Elementor active. Every ability requires the current user to have the 'edit_posts' capability (and 'edit_post' for the specific post being modified); abilities that create or edit content also verify Elementor and, where relevant, the target The Plus widget are available. A subset of abilities (theme templates, template conditions, dynamic tags, popups, and some custom-code abilities) only register when Elementor Pro is active, and many widget abilities load only in the free plugin when the Pro add-on is inactive.
What it does
The execute_callback tpae_mcp_add_theplus_gallery_listout_ability() reads the target post's Elementor page data, builds a widget element of type tp-gallery-listout from the mapped input settings (style, layout, popup style, gallery image source (normal/ACF/repeater), column counts, title/excerpt display, zoom icon, filter category, box border, parallax/tilt effects, and animation controls), inserts it into the specified parent container at the requested position, and saves the updated Elementor data back to the post. It requires Elementor to be active and the tp-gallery-listout widget to be registered, and requires non-empty post_id and parent_id, with the target post existing.
See it in action
You ask your AI assistant
"Add a Gallery widget to container portfolio-section on page 22 using a masonry layout with 4 columns and category filtering enabled."
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| post_id | integer | Yes | Elementor page/post ID |
| parent_id | string | Yes | Target Elementor container ID |
| position | integer | No | Insert position. Use -1 to append. |
| style | string | No | Style (enum: columns, style-1, style-2, style-3, style-4) |
| style_pro_options | string | No | style_pro_options |
| layout | string | No | Layout (enum: carousel, columns, grid, masonry, metro) |
| layout_pro | string | No | layout_pro |
| popup_style | string | No | Popup Layout |
| gallery_options | string | No | Select Option (enum: acf_gallery, normal, repeater) |
| gallery_images | string | No | Add Images |
| loop_gallery_options | string | No | loop_gallery_options |
| desktop_column | string | No | Desktop Column |
| tablet_column | string | No | Tablet Column |
| mobile_column | string | No | Mobile Column |
| metro_column | string | No | Metro Column (enum: 3, 4, 5, 6, layout) |
| metro_style_3 | string | No | Metro Style |
| columns_gap | object | No | Columns Gap/Space Between (Dimensions Object) |
| display_title | string | No | Display Title (enum: yes, no) |
| post_title_tag | string | No | Title Tag |
| display_excerpt | string | No | Display Excerpt/Content (enum: yes, no) |
| display_box_link | string | No | display_box_link (enum: yes, no) |
| display_box_link_options | string | No | display_box_link_options |
| filter_category | string | No | filter_category (enum: yes, no) |
| filter_category_options | string | No | filter_category_options |
| display_icon_zoom | string | No | Display Icon (enum: yes, no) |
| custom_icon_image | integer | No | Custom Icon (Image ID) |
| icon_size | object | No | Icon Size (Slider/Size Object) |
| icon_bottom_space | object | No | Bottom Space (Slider/Size Object) |
| icon_color | string | No | Icon Color (Color Hex/RGBA) |
| icon_hover_color | string | No | Icon Color (Color Hex/RGBA) |
| section_repeat_icon_style_options | string | No | section_repeat_icon_style_options |
| title_color | string | No | Title Color (Color Hex/RGBA) |
| title_hover_color | string | No | Title Color (Color Hex/RGBA) |
| content_top_space | object | No | Top Space (Slider/Size Object) |
| excerpt_color | string | No | Content Color (Color Hex/RGBA) |
| excerpt_hover_color | string | No | Content Color (Color Hex/RGBA) |
| hover_image_style | string | No | Image Hover Effect |
| image_border_radius | object | No | Border Radius (Dimensions Object) |
| hover_image_border_radius | object | No | Border Radius (Dimensions Object) |
| section_filter_category_styling_options | string | No | section_filter_category_styling_options |
| box_border | string | No | Box Border (enum: yes, no) |
| border_style | string | No | Border Style |
| box_border_width | object | No | Border Width (Dimensions Object) |
| box_border_color | string | No | Border Color (Color Hex/RGBA) |
| border_radius | object | No | Border Radius (Dimensions Object) |
| box_border_hover_color | string | No | Border Color (Color Hex/RGBA) |
| border_hover_radius | object | No | Border Radius (Dimensions Object) |
| section_carousel_options_styling_options | string | No | section_carousel_options_styling_options |
| plus_tilt_parallax | string | No | plus_tilt_parallax (enum: yes, no) |
| plus_tilt_parallax_options | string | No | plus_tilt_parallax_options |
| plus_mouse_move_parallax | string | No | plus_mouse_move_parallax (enum: yes, no) |
| plus_mouse_move_parallax_options | string | No | plus_mouse_move_parallax_options |
| messy_column | string | No | messy_column (enum: yes, no) |
| messy_column_options | string | No | messy_column_options |
| animation_effects | string | No | Choose Animation Effect |
| animation_delay | object | No | Animation Delay (Slider/Size Object) |
| animated_column_list | string | No | List Load Animation |
| animation_stagger | object | No | Animation Stagger (Slider/Size Object) |
| animation_duration_default | string | No | Animation Duration (enum: yes, no) |
| animate_duration | object | No | Duration Speed (Slider/Size Object) |
| animation_out_effects | string | No | Out Animation Effect |
| animation_out_delay | object | No | Out Animation Delay (Slider/Size Object) |
| animation_out_duration_default | string | No | Out Animation Duration (enum: yes, no) |
| animation_out_duration | object | No | Duration Speed (Slider/Size Object) |
| settings | object | No | Raw Elementor control key/value pairs to merge. Supports dynamic CPT filtering, mixed-aspect masonry physics, and AJAX infinite-scroll logic. |
Returns
Returns element_id (string), widget_type (string), and post_id (integer) of the created widget.
Permission
Requires the current user to have the edit_posts capability, and if a post_id is provided, also requires edit_post capability on that specific post.
More The Plus Addons for Elementor abilities
Accordion
Adds The Plus Addons "Accordion" widget (tp-accordion) to an Elementor container.
Add Code Snippet
Creates a site-wide Custom Code snippet using Elementor Pro, injecting CSS/JS/meta into the head or body on all pages.
Add Container
Adds a new Elementor flex container to a page or nests it inside another existing container.
Add Container
Adds a flex or grid container to a page, optionally nested inside a parent container.
Add Custom CSS
Adds custom CSS to a specific element or to the entire page (requires Elementor Pro).
Add Custom JavaScript
Adds a custom JavaScript snippet to a page by inserting an HTML widget containing a <script> tag; works with free Elementor.