Icon 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 →Icon
WriteAdds the The Plus "Icon" widget (tp-icon) 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_icon_ability verifies Elementor is active and the tp-icon widget is registered, loads the target post's Elementor page data, and maps icon selection, link, alignment, sizing, rotation, color, fill/stroke, border radius, and hover animation properties into the widget settings when present in input, merged with any raw settings object. It then builds a new widget element with a generated ID, inserts it into the specified parent container at the given position, and saves the page data. Requires post_id and parent_id.
See it in action
You ask your AI assistant
"Add a large blue star icon widget centered in this column with a rotate hover animation."
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. |
| selected_icon | string | No | Choose Icon |
| tp_icon_link | object | No | Link |
| tp_icon_padding | object | No | Padding (Dimensions Object) |
| tp_icon_align | object | No | Alignment |
| tp_icon_size | object | No | Size (Slider/Size Object) |
| tp_rotate_icon | object | No | Rotate (Slider/Size Object) |
| tp_icon_color | string | No | Color (Color Hex/RGBA) |
| tp_icon_fill_color | string | No | Fill (Color Hex/RGBA) |
| tp_icon_stroke_color | string | No | Stroke (Color Hex/RGBA) |
| tp_icon_hover_color | string | No | Color (Color Hex/RGBA) |
| tp_icon_fill_color_hover | string | No | Fill (Color Hex/RGBA) |
| tp_icon_stroke_color_hover | string | No | Stroke (Color Hex/RGBA) |
| tp_fit_to_size | string | No | Fit to Size (SVG) |
| border_popover | string | No | Border Options |
| tp_icon_border_radius | object | No | Border Radius (Dimensions Object) |
| border_hover_popover | string | No | Border Hover Options |
| tp_icon_border_radius_hover | object | No | Border Radius (Dimensions Object) |
| tp_hover_animation | string | No | Hover Animation |
| settings | object | No | Raw Elementor control key/value pairs to merge. Supports SVG stroke animation, kinetic hover effects, and industrial gradient mapping. |
Returns
Returns an object with the new widget's element_id, the widget_type (tp-icon), and the post_id it was inserted into.
Permission
Requires the current user to have the edit_posts capability, and if a post_id is supplied, also requires edit_post capability for 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.