Contents

Elementor Integration - Plugixa Testimonial

Plugixa Testimonial registers a native Elementor widget so you can drag-and-drop testimonials into any Elementor page, template, or theme builder layout. The widget is free - no Pro license required.

Requirements

  • Elementor 3.0.0 or higher.
  • Plugixa Testimonial (free or Pro).

The integration activates automatically when both plugins are active (via did_action('elementor/loaded')).

The Elementor editor with the Plugixa Testimonial widget placed on the canvas, its controls in the left-hand panel and the testimonials rendered live in the preview.

Adding the widget

  1. Edit a page with Elementor.
  2. In the widget panel, search for Plugixa Testimonial (or scroll to the Plugixa category).
  3. Drag the widget onto the canvas.

Widget controls

The widget exposes the same options as the [plugixa_testimonials] shortcode, organized into Elementor-style control tabs.

Content tab

  • Config source - Saved Shortcode or Custom.
  • Saved shortcode - SELECT2 dropdown (queries the shortcodes table) - used when source is Saved Shortcode.
  • View - SELECT2 dropdown (queries the views table) - used when source is Custom.
  • Categories - SELECT2 multi-select (queries the categories table).
  • Query controls - limit, order by, order, featured-only, min rating.
  • Display options (custom mode) - 7 SWITCHER controls: Show Photo, Rating, Role, Company, Date, Website, Quote Icon (all default on).

Style tab (custom mode only)

Elementor-native style controls that override the view per-widget-instance:

  • Card colors - background, text, name, role, border.
  • Star colors - active and inactive.
  • Spacing & borders - border radius, card padding, gap, border width.

These styles apply only to the specific widget instance - they don’t modify the underlying view.

Advanced tab

Standard Elementor advanced settings (margin, padding, responsive visibility, CSS classes, motion effects, custom CSS).

Rendering

The widget:

  1. Maps Elementor settings to shortcode attributes.
  2. Calls Shortcodes::render_testimonials() - the same renderer used by the shortcode and Gutenberg block.
  3. Adds an inline <script> to re-init window.PlugixaTestimonialApp.init() in Elementor preview mode (ensures Swiper / pagination / modals initialize on preview re-renders).

Theme builder integration

You can use the widget inside Elementor’s theme builder:

  • Single post template - add contextual testimonials to every blog post.
  • Product template - show product-specific testimonials (combine with the WooCommerce integration).
  • Archive template - add testimonials to category archives or custom post type archives.

Custom controls

The widget’s control set is fixed. There is no hook for adding an Elementor control, and the plugin registers no Elementor-specific hooks of any kind.

Output customization

There is no filter over the widget’s rendered HTML. The widget renders the same output as the shortcode, so to change it, copy the relevant template into your-theme/plugixa-testimonial/, or redirect the lookup with the plugixa_testimonial_template_path filter.

Preview

Changes in the Elementor editor preview instantly - the widget re-renders on every setting change without a save-and-refresh cycle.

Assets

The widget enqueues the plugin’s frontend CSS and JS through Elementor’s asset system, so Elementor’s caching and minification work normally.

In preview mode (the Elementor editor), HMR / dev-time assets load if includes/admin/class-hmr.php exists; otherwise built assets load.

Multilingual

The widget respects WPML / Polylang automatically - testimonials in the current language are rendered. See Multilingual.

Troubleshooting

Widget not showing in Elementor

  • Elementor active? Plugins screen.
  • Clear Elementor cache: Elementor → Tools → Regenerate CSS & data.

Widget shows but no testimonials

Same causes as the shortcode - see Shortcodes → Troubleshooting.

Slider doesn’t work in the Elementor preview

The widget re-inits PlugixaTestimonialApp after render, but if Swiper fails to bind, check:

  • Browser console for JS errors.
  • Whether the Elementor preview iframe has loaded both frontend.css and Swiper assets (network tab).

Preview breaks after a plugin update

Elementor caches widget controls. After any plugin update that changes controls, hit Elementor → Tools → Regenerate CSS & data.

Hooks

There are no Elementor hooks. See the Hooks Reference for the eight filters the plugin does fire.

Quick Links