Blockquote 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 →Blockquote
WriteAdds the The Plus "Blockquote" widget (tp-blockquote) 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_blockquote_ability() reads the target post's Elementor page data, builds a widget element of type tp-blockquote from the mapped input settings (style, content description, author, icon, tweet options, image, drop cap, border layout, and many color/spacing style 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-blockquote widget to be registered, and requires post_id, parent_id, and content_description, with the target post existing.
See it in action
You ask your AI assistant
"Add a Blockquote widget to container xyz789 on page 15 with content_description 'Great things never come from comfort zones.' and quote_author 'Anonymous'."
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) |
| content_align | object | No | Alignment |
| content_description | string | Yes | Description |
| quote_author | string | No | Author |
| quote_author_desc | string | No | Author Description |
| quote_icon | string | No | Icon (enum: yes, no) |
| quote_icon_select | string | No | Icon Library |
| quote_icon_pos | string | No | Position |
| quote_icon_pos_align | string | No | Alignment |
| quote_icon_pos_align_both | string | No | Alignment |
| quote_tweet | string | No | quote_tweet (enum: yes, no) |
| quote_tweet_icon_select | string | No | Tweet Icon |
| quote_tweet_text | string | No | Text |
| quote_tweet_link | string | No | Tweet Current Page (enum: yes, no) |
| quote_iamge_switch | string | No | Image (enum: yes, no) |
| quote_image | integer | No | Select (Image ID) |
| quote_dropcap | string | No | Drop Cap (enum: yes, no) |
| border_layout | string | No | Border Layout (enum: bl_1, bl_2, bl_3, columns, none) |
| quote_padding | object | No | Padding (Dimensions Object) |
| quote_margin | object | No | Margin (Dimensions Object) |
| content_color | string | No | Text Color (Color Hex/RGBA) |
| author_color | string | No | Author Color (Color Hex/RGBA) |
| content_hover_color | string | No | Text Color (Color Hex/RGBA) |
| author_hover_color | string | No | Author Color (Color Hex/RGBA) |
| quote_color | string | No | Quote Color (Color Hex/RGBA) |
| dropcap_padding | object | No | Padding (Dimensions Object) |
| dropcap_color_n | string | No | Color (Color Hex/RGBA) |
| dropcap_color_h | string | No | Color (Color Hex/RGBA) |
| desc_padding | object | No | Padding (Dimensions Object) |
| desc_margin | object | No | Margin (Dimensions Object) |
| author_align | object | No | Alignment |
| author_main_padding | object | No | Padding (Dimensions Object) |
| author_main_margin | object | No | Margin (Dimensions Object) |
| author_main_color | string | No | Color (Color Hex/RGBA) |
| author_desc_margin | object | No | Margin (Dimensions Object) |
| author_desc_padding | object | No | Padding (Dimensions Object) |
| author_desc_color | string | No | Color (Color Hex/RGBA) |
| author_extras_heading | string | No | Author Extras (enum: yes, no) |
| author_extras_position | string | No | Position (enum: yes, no) |
| ae_left | object | No | Left (Slider/Size Object) |
| ae_right | object | No | Top (Slider/Size Object) |
| ae_padding | object | No | Padding (Dimensions Object) |
| ae_radius | object | No | Border Radius (Dimensions Object) |
| image_padding | object | No | Padding (Dimensions Object) |
| image_margin | object | No | Margin (Dimensions Object) |
| image_align | object | No | Alignment |
| image_size | object | No | Size (Slider/Size Object) |
| image_radius | object | No | Border Radius (Dimensions Object) |
| icon_padding | object | No | Padding (Dimensions Object) |
| icon_size | object | No | Size (Slider/Size Object) |
| icon_pos_top1 | object | No | Top Icon Offset (Slider/Size Object) |
| icon_pos_top_left1 | object | No | Left Icon Offset (Slider/Size Object) |
| icon_pos_top_right1 | object | No | Right Icon Offset (Slider/Size Object) |
| icon_pos_bottom_bottom1 | object | No | Bottom Icon Offset (Slider/Size Object) |
| icon_pos_bottom_left1 | object | No | Left Icon Offset (Slider/Size Object) |
| icon_pos_bottom_right1 | object | No | Right Icon Offset (Slider/Size Object) |
| icon_pos_both_top_bottom1 | object | No | Top/Bottom Icon Offset (Slider/Size Object) |
| iplt_icon | object | No | Left Top Icon Offset (Slider/Size Object) |
| ipbr_icon | object | No | Right Bottom Icon Offset (Slider/Size Object) |
| ipld_icon | object | No | Left Icon Offset (Slider/Size Object) |
| ipright_icon | object | No | Right Icon Offset (Slider/Size Object) |
| icon_color | string | No | Color (Color Hex/RGBA) |
| icon_radius | object | No | Border Radius (Dimensions Object) |
| tweet_align | object | No | Alignment |
| tweet_padding | object | No | Padding (Dimensions Object) |
| tweet_margin | object | No | Margin (Dimensions Object) |
| tweet_svg_size | object | No | Icon Size (Slider/Size Object) |
| tweet_svg_offset | object | No | Icon Offset (Slider/Size Object) |
| tweet_color_n | string | No | Color (Color Hex/RGBA) |
| tweet_br_n | object | No | Border Radius (Dimensions Object) |
| tweet_color_h | string | No | Color (Color Hex/RGBA) |
| tweet_br_h | object | No | Border Radius (Dimensions Object) |
| tweet_extras_heading | string | No | Tweet Extras (enum: yes, no) |
| tweet_extras_position | string | No | Position (enum: yes, no) |
| tw_left | object | No | Left (Slider/Size Object) |
| tw_right | object | No | Top (Slider/Size Object) |
| bl1o_i_height | object | No | Height (Slider/Size Object) |
| bl1o_i__br_h | object | No | Border Radius (Dimensions Object) |
| bl1o_size | object | No | Border Size (Slider/Size Object) |
| bl1o_color | string | No | Color (Color Hex/RGBA) |
| bl1o_br | object | No | Border Radius (Dimensions Object) |
| bl2o_width_height | object | No | Background Size (Slider/Size Object) |
| bl2o_bgcolor1 | string | No | Background Color1 (Color Hex/RGBA) |
| bl2o_bgcolor2 | string | No | Background Color2 (Color Hex/RGBA) |
| bl2o_bgcolor1_h | string | No | Background Color1 (Color Hex/RGBA) |
| bl2o_bgcolor2_h | string | No | Background Color2 (Color Hex/RGBA) |
| bl3_corner_dot_bg_color | string | No | Corner Background Color (Color Hex/RGBA) |
| bl3_corner_dot_color | string | No | Corner Border Color (Color Hex/RGBA) |
| bl3_corner_dot_bs | object | No | Corner Border Size (Slider/Size Object) |
| bl3_corner_dot_bsize | object | No | Corner Position (Slider/Size Object) |
| bl3_corner_dot_bsize_n | object | No | Corner Size (Slider/Size Object) |
| box_padding_n | object | No | Padding (Dimensions Object) |
| box_margin_n | object | No | Margin (Dimensions Object) |
| box_border | string | No | Box Border (enum: yes, no) |
| border_style | string | No | Border Style |
| box_border_color | string | No | Border Color (Color Hex/RGBA) |
| box_border_width | object | No | Border Width (Dimensions Object) |
| 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) |
| settings | object | No | Raw Elementor control key/value pairs to merge. Supports multi-state stylistic transitions, dynamic tweet-this logic, and responsive brand geometry. |
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.