Sentio Widgets for Elementor

Beskrivelse

Sentio Widgets for Elementor is a free, lightweight Elementor addon with 53 fully-featured widgets — Accordion, Tabs, Price Table, Countdown, Reviews, Google Maps, and more. Modular and fast (per-widget CSS/JS, no monolithic bundle), WCAG 2.1 AA accessible, and translation-ready, with every free widget complete and unrestricted.

Documentation | Upgrade to PREMIUM

The Elementor widget panel also displays 99 additional widgets from the Sentio Addons for Elementor PREMIUM edition, shown with a lock badge. These are visible-only stubs — discovery surfaces, not feature gates. The 53 free widgets in this plugin are fully functional with no nag, no time limit, no missing controls, and no tier-based throttling. The plugin remains free, GPL-licensed, and complete on its own.

  • Have zero frontend impact. The stub widgets only appear in the Elementor editor’s widget panel for the editing user. Locked widgets cannot be dragged onto a canvas, never render any markup on the public-facing frontend, and never enqueue any frontend CSS or JavaScript. A site visitor will never see, hear, or download anything related to a locked widget.
  • Do not gate any of the 53 free widgets. Every free widget ships with its complete control set — every style tab, every content option, every responsive setting. There is no “upgrade to unlock this control” experience inside any free widget. The PREMIUM edition adds additional widgets, not additional controls on existing free widgets.
  • Ship no underlying widget code. The locked entries are metadata-only stubs (slug + title + category) loaded from a single config file (includes/config/locked-widgets.php) and rendered by a generic stub class. None of the 99 PREMIUM widget implementations (PHP, CSS, or JS) ship in this plugin’s ZIP.
  • Are visible by design and dismissable in practice. When a visible stub is clicked, an upsell card opens explaining the PREMIUM widget; the card has a clear close button. Users who do not want to see the stubs at all can simply ignore them — they do not nag, do not auto-open, do not interrupt page-builder workflows, and do not appear anywhere in the standard WordPress admin (only inside Elementor’s widget panel during editing).
  • Are honestly named and categorized. Each stub uses the same display name and category that the real PREMIUM widget would use, so users searching the panel for a familiar widget name see a clear “available in PREMIUM” lock indicator instead of an empty result. The lock badge is unambiguous: this widget exists in PREMIUM, click to learn more, no purchase required to keep using LITE.

The complete Sentio widget library

The (Free) widgets ship in LITE; (Premium) widgets are in Sentio PREMIUM, shown as locked editor stubs. 152 widgets — 53 free, 99 premium — across 10 categories.

⬡ Advanced Components

Premium: Acuity Scheduler, Calendar.com Scheduler, Calendly Scheduler, Code Highlight, Custom HTML, DaySchedule, Google Calendar Booking, HubSpot Scheduler, Motion Scheduler, PayPal Payment Button, SavvyCal Scheduler, Stripe Payment Button, TidyCal Scheduler, YouCanBookMe Scheduler, Zencal Scheduler, Zoom Scheduler.

🔄 Dynamic

📰 Posts

  • Archive Posts (Free) — Post grid for archives.
  • Posts (Free) — Query post grid with load-more.

🎨 Creative

Premium: 3D Cube Hero Slider, Hero Accordion, Hero Cascade, Hero Clip-Path Slider, Hero Compare, Hero Typewriter, Parallax Depth Hero Slider, Split Screen Hero Slider, SVG Draw, Vertical Fullscreen Hero Slider.

📣 Content

Premium: Facebook Feed, Instagram Embed, Mega Menu, News Ticker, Pinterest Feed, Tag Cloud, TikTok Feed, Twitter / X Embed, Weather.

🔳 Grids

Premium: Alphabet Layout, Asymmetrical Grid, Mondrian Layout, Side Scroll.

📊 Data Visualization

Premium: Animated Line Graph, Bar Chart, Data Cards Grid, Donut / Pie Chart, Funnel Chart, Progress Ring, Radar / Spider Chart, Radial Gauge, Stats Comparison.

🛒 WooCommerce

Premium: Add to Cart, Cart Page, Checkout, Coupon Form, Cross-Sells, Mini Cart, My Account, Order Tracking, Payment Methods, Product Badges, Product Carousel, Product Categories, Product Compare, Product Filters, Product Gallery, Product Grid, Product Price, Product Reviews, Product Search, Product Table, Product Tabs, Recently Viewed, Sale Countdown, Shipping Calculator, Size Guide, Stock Alert, Store Notice, Thank You Page, Upsells, Venmo Payment, Wishlist.

📅 Events Calendar

Premium: Event Calendar, Event Carousel, Event Countdown, Event Grid, Event Map, Event Schedule, Event Search & Filter, Event Timeline, Organizer Directory, Venue Showcase.

🧩 ACF

Premium: ACF Field Group, ACF Gallery Pro, ACF Map Pro, ACF Relationship Grid, ACF Repeater Accordion, ACF Repeater Cards, ACF Repeater Slider, ACF Repeater Table, ACF Repeater Tabs, ACF Repeater Timeline.

Upgrade to PREMIUM

Sentio PREMIUM adds 99 widgets — WooCommerce (31), Events Calendar (10), ACF (10), payments, schedulers, data-viz charts, and hero sliders. See pricing

External services

This plugin connects to the following external services. Each connection is described with what data is sent, when it occurs, and links to the vendor’s terms of service and privacy policy. Reviewers and security-conscious users should be able to answer “what, when, where, and why” for every external request after reading this section.

Google Maps API

Used by the Google Maps widget (and only that widget) to render an embedded interactive map on a page where the widget is placed.

The widget loads https://maps.googleapis.com/maps/api/js from your visitor’s browser only when both conditions are met: a Google Maps widget is present on the rendered page, AND a Google Maps API key has been configured by you (per-widget, or via Elementor’s elementor_google_maps_api_key option). The widget will not render a map and will not contact Google’s servers if no API key is set.

The data sent in the request is the API key you configured, plus the standard Google Maps JavaScript API parameters required to load and initialize the map. The map’s marker positions, zoom level, and other configuration are processed entirely in your visitor’s browser; no plugin user data beyond the API key reaches Google.

Google requires an API key for production traffic per their Maps Platform Terms of Service.

YouTube embeds

Used by the Media Playlist, Video Carousel, and Portfolio widgets when you configure a YouTube video URL on one of those widgets.

There are three runtime behaviors, each with different trigger conditions:

  1. Thumbnail images. When a configured YouTube video is rendered without a manually-set thumbnail, the widget outputs an <img> element pointing to https://img.youtube.com/vi/{video-id}/hqdefault.jpg. Your visitor’s browser fetches the thumbnail from YouTube’s image CDN when the page renders. The only data sent is the video ID embedded in the URL path; this is information YouTube already has, since the video is public.

  2. Embedded video player. When your visitor plays a configured video, an <iframe> is injected pointing to https://www.youtube.com/embed/{video-id}. The browser fetches the embed at that point. YouTube’s embed iframe applies its own privacy policy regardless of the embedding site.

  3. YouTube IFrame Player API. For the Media Playlist and Video Carousel widgets, the YouTube IFrame Player API loads from https://www.youtube.com/iframe_api once when the first video on the page begins playing. This API is used to programmatically control playback (autoplay, mute, loop, etc.). It loads only after a play action; pages that do not trigger video playback do not contact YouTube at all.

If your visitor never triggers playback and never views a card with a YouTube thumbnail, no data is sent to YouTube.

Vimeo embeds

Used by the Media Playlist, Video Carousel, and Portfolio widgets when you configure a Vimeo video URL on one of those widgets.

There are three runtime behaviors:

  1. Embedded video player. When your visitor plays a configured Vimeo video, an <iframe> is injected pointing to https://player.vimeo.com/video/{video-id}. The browser fetches the embed at that point.

  2. Vimeo Player SDK. For the Media Playlist and Video Carousel widgets, the Vimeo Player SDK loads from https://player.vimeo.com/api/player.js once when the first Vimeo video on the page begins playing. This SDK provides programmatic playback control. It loads only after a play action.

  3. Vimeo oEmbed metadata (server-side). When the Media Playlist or Video Carousel widget renders a Vimeo video without a manually-set thumbnail, the widget makes a server-side HTTP GET to https://vimeo.com/api/oembed.json?url=https://vimeo.com/{video-id} to retrieve the video’s thumbnail URL. The request uses WordPress’s wp_remote_get() HTTP API with a 5-second timeout and silent failure (an unreachable Vimeo server simply leaves the thumbnail empty; it does not break page rendering). The only data sent is the public Vimeo video URL you configured.

Setting a manual thumbnail on the widget disables the server-side oEmbed call entirely.

sentioaddons.com — telemetry (consent-gated, opt-in)

This plugin includes an opt-in anonymous-usage telemetry feature so we can understand which widgets are used most, on what WordPress and PHP versions, and across which theme families. No data is sent before you grant consent.

On first activation, the plugin redirects you to a welcome screen at Sentio Welcome. The welcome screen presents a clear consent toggle (default checked, but you can uncheck it before saving) and an optional email field. Two buttons close the welcome screen: clicking Allow & Start Building respects the checkbox state; clicking Skip forces consent to off regardless of the checkbox.

If you grant consent, a daily WordPress cron job (sentio_lite_telemetry_ping) POSTs to https://sentioaddons.com/wp-json/sentio-lm/v1/telemetry. The cron runs once per 24-hour window from the time of consent.

The data fields the plugin sends are:

  • Plugin version
  • WordPress version
  • PHP version
  • Theme family — coarse mapping (Astra / Divi / Hello Elementor / Default / Other), not the exact theme slug
  • Site locale
  • SHA-256 hash of the site URL (one-way; not reversible to the original URL — used only to deduplicate pings from the same site)
  • Optional email address — only if you provided one in the welcome screen
  • Per-widget placement counts — which Sentio widgets are placed on the site and how many times, parsed from Elementor’s _elementor_data postmeta

The site’s IP address is not sent by the plugin. If country-level data is needed for analytics, it is enriched server-side from the Cloudflare CF-IPCountry HTTP header at the moment of the request, never persisted.

You can opt out at any time from Sentio Version. Opting out fires a DELETE request to https://sentioaddons.com/wp-json/sentio-lm/v1/telemetry/site to remove your site’s data row from our servers, and unschedules the daily cron. Opt-out is one click and does not require a confirmation step.

sentioaddons.com — backlink (per-widget, default OFF)

Each widget has a per-instance toggle in its Advanced tab labeled “Show Sentio backlink”. The toggle is off by default in the LITE 2.0 edition. When you switch the toggle on for a specific widget instance, the frontend renders a small <a href="https://sentioaddons.com/elementor-widgets/..."> anchor tag at the end of that widget’s output, linking to the corresponding sentioaddons.com widget page.

This is a render-output anchor only. The plugin does not make any automatic HTTP request to sentioaddons.com from this feature; the URL appears in the page source but is only fetched if your visitor actually clicks the link. The toggle is local to each widget instance and is never enabled programmatically without your action.

This is documented for transparency because the URL string appears in your rendered HTML when you opt in, even though no resource load occurs.

License

Sentio Widgets for Elementor is free software released under the GNU General Public License v2 (or later); see https://www.gnu.org/licenses/gpl-2.0.html.

Third-Party Libraries

This plugin bundles the following GPL-compatible libraries:

  • Lottie Web (MIT) — https://github.com/airbnb/lottie-web
  • Marker Clusterer (Apache 2.0) — https://github.com/googlemaps/js-markerclusterer

MIT and Apache 2.0 are GPL-compatible licenses.

The carousel widgets (Reviews, Testimonial, Logo, Slideshow, Video Carousel, Posts) consume the Swiper library via Elementor’s bundled swiper script handle; Swiper is not bundled by this plugin.

Skærmbilleder

Installation

  1. From WordPress admin: Plugins Add New search for “Sentio Widgets for Elementor” click Install Now Activate.
  2. Manual install: download the plugin ZIP, upload it via Plugins Add New Upload Plugin, then activate.
  3. Ensure Elementor is installed and active. This plugin requires Elementor 3.20 or newer (tested up to 3.25).
  4. Edit any page or post with Elementor; Sentio widgets appear under the Sentio category in the widget panel.
  5. (Optional) Visit Sentio Welcome to opt in or out of anonymous usage analytics.

FAQ

Does this plugin require Elementor?

Yes. This is an Elementor addon. Elementor must be installed and active. Elementor 3.20 or newer is recommended; tested up to 3.25.

Does it work with Elementor Pro?

Yes. Sentio widgets coexist with Elementor Pro and any other Elementor addon plugin. There is no conflict.

What’s the difference between LITE and PREMIUM?

This LITE edition includes 53 free widgets and is what you get from WordPress.org. The PREMIUM edition (Sentio Addons for Elementor PREMIUM) adds 99 more widgets covering WooCommerce, The Events Calendar, Advanced Custom Fields, schedulers, payment buttons, advanced data visualization, and additional creative and hero widgets. PREMIUM is a separate paid plugin distributed at sentioaddons.com and is not available through WordPress.org.

Why do I see locked widgets in the Elementor panel?

The 99 PREMIUM widgets are visible as locked stubs in your Elementor widget panel so you can see what is available in the PREMIUM edition without leaving the editor. Locked widgets show a lock badge, cannot be dragged onto the canvas, and open an upsell card when clicked. They have no runtime effect on your site and never render any frontend output in the LITE edition.

How do I disable the backlink to sentioaddons.com that some widgets show?

The backlink toggle defaults to off in the LITE 2.0 edition. To verify or change it on a specific widget, edit the widget in Elementor, open the Advanced tab, and check the “Show Sentio backlink” toggle. The backlink only renders if the toggle is on for that widget instance.

Why does the welcome screen ask for my email?

The email field is optional. If you provide one, we may use it to notify you about important plugin updates such as security fixes or breaking changes; we do not send marketing email through this channel. You can use the plugin fully without providing an email — leave the field blank, or skip the welcome screen entirely with the Skip button.

Can I use Sentio LITE on a multisite installation?

Yes. You can activate the plugin per-site or network-wide. Telemetry consent and welcome flow are per-site.

Is the plugin translation-ready?

Yes. All UI strings use the sentio-widgets-for-elementor text domain. Translation files (.po / .mo) auto-load from WordPress’s standard translations directory at wp-content/languages/plugins/.

How do I report a bug?

Open a thread in the WordPress.org plugin support forum, or email support@sentioaddons.com with steps to reproduce.

Does the plugin collect any data?

Only if you opt in at activation. The welcome screen presents a clear consent toggle (default checked, but you can uncheck it before saving) plus an optional email field. The exact data fields collected and the opt-out path are described in the External services section above. No data is sent before you grant consent.

How do I uninstall cleanly?

Deactivate the plugin via Plugins Installed Plugins, then click Delete. WordPress removes the plugin files. Settings stored in the wp_options table use the sentio_* prefix; if you want to fully purge the plugin’s footprint, you can delete those options manually after uninstall.

Will Sentio slow down my site?

No. Sentio uses per-widget asset loading: each widget’s CSS and JavaScript load only on pages where that widget is actually placed. There is no global frontend bundle, so a page only ever downloads the code for the widgets it uses.

Do I need any coding skills?

No. Every widget is configured visually in the Elementor editor with standard content and style controls. The optional Shortcode widget (and the PREMIUM Custom HTML widget) are there if you do want to drop in your own code.

Will it work with my theme?

Yes. Sentio widgets are standard Elementor widgets and work with any Elementor-compatible theme, including Hello Elementor, Astra, Divi, and most others. Requires Elementor 3.20 or newer.

How is Sentio different from other Elementor addon packs?

Sentio is built lightweight and modular from the ground up. Instead of forcing one large CSS/JS bundle onto every page, each widget owns and loads only its own assets, and accessibility (WCAG 2.1 AA) is treated as a baseline requirement rather than an afterthought.

Anmeldelser

Der er ingen anmeldelser for denne widget.

Bidragsydere & udviklere

“Sentio Widgets for Elementor” er open source-software. Følgende personer har bidraget til dette plugin.

Bidragsydere

Ændringslog

2.0.4 — 2026-06-16

Reliability fix so Sentio’s widget categories register correctly alongside other Elementor add-ons, plus first-run and dashboard refinements.

  • Fix: Sentio widget categories now register reliably when other Elementor add-on plugins that register their own categories early (for example event/calendar or all-in-one widget add-ons) are active. Sentio now subscribes to Elementor’s category-registration step earlier, so its panel categories no longer fail to appear.
  • Fix: The welcome screen now opens immediately on first activation, instead of only after navigating to a Sentio page later.
  • Fix: Third-party admin notices no longer display inside the Sentio dashboard or welcome header banner; they now appear in WordPress’s standard position above it. No notices are suppressed or hidden.
  • Feature: Added a dismissible “leave a review” invitation in the dashboard’s LITE comparison card.

2.0.3 — 2026-05-30

This release removes all admin notice suppression code per the WordPress.org plugin review.

  • Removed 231 lines of code that suppressed third-party admin notices on Sentio admin screens via remove_action() calls on admin_notices, in_admin_header, and related hooks. Standard WordPress notice behavior is now restored across all Sentio admin pages.
  • Removed CSS rules that hid third-party plugin notice elements (Freemius, Jetpack, Yoast, etc.) when they appeared inside Sentio admin layouts. Foreign notices now render normally at their natural injection points.
  • No replacement suppression mechanism added. Users will see standard WordPress admin notices from core, security plugins, and other addons as designed.

2.0.2 — 2026-05-20

This release addresses the inline block finding from the WordPress.org plugin review.

  • Refactored admin page CSS into a single registered stylesheet enqueued via wp_enqueue_style() on Sentio admin screens, replacing prior per-page conditional enqueueing that did not handle JavaScript-driven tab navigation correctly.
  • Extracted inline style attributes from the Locked Widget render output to a dedicated stylesheet (assets/css/widgets/locked-widget-notice.css), registered as a Sentio handle and auto-enqueued via Elementor’s get_style_depends() pattern. Render output now uses BEM-style class names instead of inline style attributes.
  • Improved CSS class name escaping by using sanitize_html_class() for class identifiers per WordPress canonical patterns.

2.0.1 — 2026-05-13

This release addresses all feedback from the WordPress.org plugin review.

  • Replaced 73 instances of output requiring escaping with canonical wp_kses(), tag_escape(), and esc_*() patterns. Escaping now happens at every output site, not at variable construction, per the “escape late” principle.
  • Added per-field sanitization for the AJAX POST settings handler in the Posts widget. Each of the ~40 settings fields now receives context-appropriate sanitization (absint, sanitize_key, tag_escape, in_array whitelist) at the JSON-decode boundary.
  • Refactored four direct database queries to use WordPress core APIs: comment counting now uses get_comments(), WooCommerce product enumeration uses wc_get_products(), and The Events Calendar venue/organizer lookups use get_posts().
  • Replaced one variable-based translation argument with static literal __() calls via a translation lookup table, so translation tooling can extract strings correctly.
  • Added nonce verification before processing form data in admin pages, including refactoring the admin page router to use get_current_screen() instead of $_GET parameters.
  • Prefixed file-global variables in admin templates with the sentio_ prefix per WordPress naming conventions.
  • Removed phpcs:ignore suppression comments throughout the plugin and addressed each underlying issue with real code changes rather than suppression.
  • Removed the debug_log() development helper from production code paths.

2.0.0

  • 53 free widgets organized across content, marketing, posts and dynamic content, navigation, media, and tools.
  • 99 additional PREMIUM widgets shown as locked stubs in the Elementor widget panel; clicking a locked widget opens an upsell card.
  • Per-widget CSS and JavaScript asset loading — assets are loaded only on pages where the widget is actually placed; no global frontend bundle.
  • WCAG 2.1 AA compliance across newly-authored widgets (keyboard navigation, ARIA landmarks, focus indicators, live-region announcements, prefers-reduced-motion respect). Pre-existing widgets are being retroactively audited.
  • Consent-gated daily telemetry phone-home — opt-in at activation, one-click opt-out at any time from Sentio Version. See External services above for full data-field disclosure.
  • Updates delivered through the WordPress.org core updater.
  • Translation-ready: all UI strings localizable via the sentio-widgets-for-elementor text domain.