LandTech Extras for Elementor

Description

Disclaimer: Independent fork of the original Elementor Extras plugin (also known as Extras for Elementor, by Namogo). Not affiliated with or endorsed by Namogo or Elementor Ltd. Original credits: Namogo (Elementor Extras). Maintained by Land Tech Web Designs.

LandTech Extras for Elementor is a free, complete Elementor addon. It is an actively maintained replacement for sites that relied on Elementor Extras / Extras for Elementor. Existing Elementor templates that used those widget slugs (for example ee-calendar, posts-extra, ee-gallery) continue to work after you switch to this plugin.

You do not need a paid product to use anything listed under Widgets and extensions. Optional API keys (Google Maps, Snazzy Maps, Instagram) live under Elementor Extras APIs. Full documentation: extrasforelementor.com/docs.

What’s new in 2.9

This release is a large free-plugin update (work from 2.6 through 2.9, shipped together):

  • Social proof & people: Testimonials (manual, WooCommerce reviews, or comments), FAQ Accordion with optional FAQPage schema, Team Members (classic, overlay, flip, horizontal), Icon Box, Call to Action, Star Rating.
  • Commerce-ready layouts: Pricing Table and Pricing Toggle (monthly/annual, optional WooCommerce add-to-cart when WooCommerce is active).
  • Motion & media: Lottie scroll / hover / click / scrub playback via bundled lottie-web; Video Playlist (YouTube, Vimeo, self-hosted); Progress Bar; Countdown; Reading Progress; Social Share; Back to Top; Cookie Consent; Sticky Wrapper; Dark Mode Toggle.
  • Calendar & popups: iCal / Google Calendar URL, The Events Calendar, and WooCommerce Bookings sources; popup delay, scroll, inactivity, and cookie/session suppression.
  • Editor tools: ACF Free dynamic tags, block patterns, SEO hints in the editor, Generate alt text via the WordPress AI Client (Settings Connectors), Loop Builder / WCAG / CSP notes.
  • Gallery, tabs, SVG, comparison: Gallery video tiles and pagination; Tabs vertical + mobile accordion + deep links; Inline SVG path colors and reduced-motion-safe animations; Image Comparison vertical drag.
  • Add-on features tab: When the optional Premium plugin is not installed, this tab shows a read-only catalog of what that separate plugin adds. When Premium is active, the catalog is hidden and the live Enable checkboxes appear instead.

Optional Premium add-on (separate plugin)

This WordPress.org plugin is complete on its own. Nothing below is included here as a disabled or locked feature.

LandTech Extras for Elementor Premium is a separate paid plugin you may install beside this one. It adds extra capabilities. It does not unlock features that already ship here.

When Premium is not installed, Elementor Extras Add-on features lists the add-on catalog (informational). After you activate Premium, that catalog is hidden.

The add-on currently includes:

  • WooCommerce & conversion: shop extras, product page builder, product carousel, wishlist, 360 viewer, 3D viewer, smart countdown.
  • Forms, popups & menus: multi-step forms, smart popup triggers, popup A/B tests, mega menu, Gravity Forms styler, booking calendar, login/register, marketing button, business hours, calculator, experience builder.
  • Dynamic data & loops: remote content, AJAX facets, advanced loop query, masonry/metro, live data table, social feeds (Instagram / X / TikTok), external grid.
  • Site chrome & motion: header/footer builder, one-page dot nav, text animation, scroll story, evolutionary layouts.
  • AI & accessibility: Genius assistant, AI workspace (bring-your-own-key), alt-text batch, semantic search, voice search, WCAG scanner.
  • Agency tools: export/import package, CPT builder, content protection, white label, template marketplace, time machine, asset compiler, PWA builder, client feedback, conditional CSS classes.

Add-on documentation: extrasforelementor.com/docs/premium. Purchase and license support stay on landtechwebdesigns.com.

Widgets and extensions

Find widgets in the Elementor panel under the LandTech Extras for Elementor category. Widget type slugs match the upstream Elementor Extras fork for easier migration.

Widgets: Age Gate (ee-age-gate), Audio Player (ee-audio-player), Back to Top (ltxe-back-to-top), Breadcrumbs (ee-breadcrumbs, optional BreadcrumbList JSON-LD when Structured data is enabled), Buttons / Button Group (button-group), Calendar (ee-calendar), Circle Progress (circle-progress), Cookie Consent (ltxe-cookie-consent), Countdown (ltxe-countdown), Dark Mode Toggle (ltxe-dark-mode), Devices (devices-extended), FAQ Accordion (ltxe-faq), FAQ Schema (ee-faq-schema), Gallery (gallery-extra), Gallery Slider (gallery-slider), Google Map (ee-google-map), Heading Extra (heading-extended), Hotspots (hotspots), HTML5 Video Player (html5-video), Icon Box (ltxe-icon-box), Image Comparison (image-comparison), Inline SVG (ee-inline-svg), Lottie (ee-lottie), Call to Action (ltxe-cta), Offcanvas (ee-offcanvas), Popup (ee-popup), Posts Extra / Portfolio / Carousel layouts (posts-extra), Pricing Table (ltxe-pricing-table), Pricing Toggle (ltxe-pricing-toggle), Progress Bar (ltxe-progress-bar), Random Image (ee-random-image), Reading Progress (ltxe-reading-progress), Scroll Indicator (ee-scroll-indicator), Search Form (ee-search-form), Slide Menu (ee-slide-menu), Social Share (ltxe-social-share), Star Rating (ltxe-star-rating), Sticky Wrapper (ltxe-sticky-wrapper), Switcher (ee-switcher), Table (table), Table of Contents (ee-table-of-contents), Tabs (ee-tabs), Team Members (ltxe-team-members), Testimonials (ltxe-testimonials), Text Divider (text-divider), Timeline (timeline), Toggle Element (ee-toggle-element), Unfold (unfold), Video Playlist (ltxe-video-playlist).

Editor extensions (Advanced tab on Elementor elements): Display Conditions (free: time, day, URL/query vars including UTM presets, cookie, business hours; WooCommerce purchase history and membership rules ship in the separate LandTech Extras Premium add-on), Parallax Background, Parallax Elements, Portfolio Parallax, Sticky Elements, Tooltips.

Disable unused widgets under Elementor LandTech Extras Widgets to speed up the editor.

Try It Live – Preview This Plugin Instantly

Experience LandTech Extras for Elementor without installation: the blueprint installs Elementor and this plugin from WordPress.org, seeds sample images and blog posts, builds a demo homepage with links to every widget, and creates a dedicated demo page per feature — including the 2.9 set (testimonials, FAQ, team members, pricing, countdown, video playlist, social share, dark mode, and more) plus gallery, search, posts, maps, and navigation. Log in as admin / password to edit with Elementor or open Elementor Extras settings.

Preview on WordPress Playground

The same blueprint ships in the plugin package as blueprint.json (repository root) and assets/blueprints/blueprint.json. WordPress.org serves the public copy from plugin SVN at assets/blueprints/blueprint.json for directory Live Preview integration.

External Services

This plugin may cause the site, the WordPress admin, or the Elementor editor to contact third-party services when you enable the related features or save API credentials. For each service below, direct links to its Terms of Service (or equivalent) and Privacy Policy are provided.

Google Maps Platform (Google LLC)

When you enable the Google Map widget or turn on Load Google Maps API under Elementor LandTech Extras APIs, visitors’ browsers may load the Maps JavaScript API from Google (maps.googleapis.com, including via bundled assets/lib/gmap3/gmap3.js). Requests can include the Maps API key you enter in settings, map coordinates or place queries you configure, and typical browser HTTP metadata. Terms of Service · Privacy Policy

OpenStreetMap tile servers (OpenStreetMap Foundation and community tile providers)

When you set the Google Map widget Map provider to OpenStreetMap, visitors’ browsers load bundled Leaflet (assets/lib/leaflet/) and request raster map tiles from OpenStreetMap’s tile service (tile.openstreetmap.org, including subdomains a–c). Requests can include map tile coordinates (zoom level and x/y indices), the visitor’s IP address, and standard browser HTTP metadata. Marker icon assets are served from your site; no API key is required for the default tile layer. OpenStreetMap Foundation Terms · OpenStreetMap Foundation Privacy Policy · OpenStreetMap copyright

Snazzy Maps (snazzymaps.com; operated by Atlist Inc.)

When you add a Snazzy Maps API key and search for map styles in the Elementor editor, the editor script (assets/js/editor.js) requests JSON from https://snazzymaps.com/{endpoint}.json (explore, my-styles, or favorites). Those requests can include your Snazzy Maps API key, pagination parameters, and standard browser HTTP metadata. Server-side PHP does not proxy these editor requests. Atlist publishes the legal terms that apply to Snazzy Maps / Atlist services: Terms of Service · Privacy Policy

Instagram (Meta Platforms, Inc.)

When you use Instagram-related options (Gallery widget Instagram source or an access token under Elementor LandTech Extras APIs), the plugin may request data from Instagram Graph API (graph.instagram.com, including token refresh in admin) and/or instagram.com endpoints used by the Gallery widget. Data sent can include the access token you configure, API parameters required by Instagram, and standard HTTP metadata. Instagram Terms of Service · Instagram Privacy Policy · Meta Privacy Policy · Meta Developer Terms (API use): Terms

OpenAI (OpenAI, LLC) — optional bring-your-own-key (separate LandTech Extras add-on AI workspace)

This WordPress.org build may store optional API credentials in the landtech_extras_apis option when you save settings, but does not call OpenAI from this plugin alone. When the separate LandTech Extras add-on is active, AI workspace is enabled, and you choose OpenAI, that add-on may send HTTPS requests to OpenAI’s API (e.g. api.openai.com) with the API key, prompt or content, model parameters, and standard HTTP metadata. Terms of Service · Privacy Policy

Anthropic (Anthropic, PBC) — optional bring-your-own-key (add-on AI workspace)

Same as OpenAI above: credentials may be stored here; outbound Anthropic API requests (e.g. api.anthropic.com) occur only when the separate add-on AI workspace invokes them with your saved Anthropic API key, messages, and parameters. Commercial Terms of Service · Privacy Policy

Google Gemini API (Google LLC) — optional bring-your-own-key (add-on AI workspace)

Same as OpenAI above: credentials may be stored here; outbound Gemini requests (e.g. generativelanguage.googleapis.com) occur only when the separate add-on AI workspace invokes them with your saved Gemini API key, prompts, and parameters. Google AI / Gemini API Terms · Google Privacy Policy

User-provided iCal / calendar feeds

When the Calendar widget source is iCal / Google Calendar URL, the site server requests the .ics URL you enter (wp_safe_remote_get). The request includes that URL and standard HTTP metadata. No Land Tech server is involved. Review the calendar host’s terms (Google, Microsoft, Apple, or your own feed) before publishing.

YouTube (Google LLC)

When a Gallery video tile or the Video Playlist widget uses a YouTube URL, visitors’ browsers load an embed iframe from www.youtube.com / youtube.com. Requests can include the video ID you configured and standard browser HTTP metadata. Terms of Service · Google Privacy Policy

Vimeo (Vimeo.com, Inc.)

When a Gallery video tile or the Video Playlist widget uses a Vimeo URL, visitors’ browsers load an embed iframe from player.vimeo.com. Requests can include the video ID you configured and standard browser HTTP metadata. Terms of Service · Privacy Policy

WordPress AI Client (core Connectors)

When an editor clicks Generate alt text on an image control, this plugin calls wp_ai_client_prompt() if the WordPress AI Client is available. No provider API keys are stored by this plugin. Site admins configure providers under Settings Connectors. The request can include a short prompt and the attachment image URL. If the AI Client is not available, the endpoint returns HTTP 503. Review the terms and privacy policy of the provider you connect in WordPress.

Social share destinations (user-initiated)

The Social Share widget only builds share URLs. A visitor click may open Facebook, X/Twitter, LinkedIn, WhatsApp, Telegram, Pinterest, Reddit, or a mailto: window. No third-party share SDK is loaded. Review each destination’s terms before enabling that button.

User-provided Lottie animation URLs (LottieFiles or other hosts)

When the Lottie widget is set to load an animation from an External URL (or from a JSON file in your media library served from another origin), visitors’ browsers request that JSON from the URL you configure. The Playground demo may load a sample file from LottieFiles (assets*.lottiefiles.com) when you preview the bundled demo page. No animation URL is transmitted to Land Tech servers. Review your animation host’s terms and privacy policy before publishing.

Third-party libraries

This plugin bundles or references third-party scripts. Licenses and upstream sources for every bundled file are noted below. Full provenance details are in the matching README.txt files under assets/lib/.

anime.js 4.5.0 (MIT) — assets/lib/anime/anime.js / anime.min.js
Source: https://github.com/juliangarnier/anime — License notes: assets/lib/anime/README.txt.

Splitting.js 1.0.6 (MIT) — assets/lib/splitting/splitting.js / splitting.min.js / splitting.css
Source: https://github.com/shshaw/Splitting — License notes: assets/lib/splitting/README.txt.

GLightbox 3.3.1 (MIT) — assets/lib/glightbox/js/glightbox.js / glightbox.min.js and CSS under assets/lib/glightbox/css/
Source: https://github.com/biati-digital/glightbox — License notes: assets/lib/glightbox/README.txt.

jquery-circle-progress (MIT) — https://github.com/kottenator/jquery-circle-progress
jquery.appear (MIT) — https://github.com/morr/jquery.appear/
LongShadow jQuery Plugin (MIT) — https://github.com/dangvanthanh/jquery.longShadow
HC-Sticky (MIT) — https://github.com/somewebmedia/hc-sticky
jQuery Mobile (MIT/jquery.org) — https://jquerymobile.com/
jquery-visible (MIT) — http://teamdf.com/jquery-plugins/license/
Parallax Background (MIT) — https://github.com/erensuleymanoglu/parallax-background
TableSorter v2.32.0 (MIT/GPL dual, Mottie fork) — https://github.com/Mottie/tablesorter
Isotope v3.0.6 (GPLv3) — assets/lib/isotope/ standalone modules (WordPress core jQuery via jquery-bridget)
Metafizzy / Desandro layout dependencies (MIT unless noted) — assets/lib/jquery-bridget/, outlayer/, ev-emitter/, get-size/, fizzy-ui-utils/, matches-selector/, masonry-layout/ (each folder includes README.txt)
Packery v2.1.2 (GPLv3) — assets/lib/packery/ standalone modules (WordPress core jQuery via jquery-bridget)
Infinite Scroll 4.0.1 (GPLv3) — assets/lib/infinite-scroll/infinite-scroll.js (core build; vanilla DOM API via new InfiniteScroll(); no jquery-bridget)
Source: https://infinite-scroll.com — License notes: assets/lib/infinite-scroll/README.txt.
javascript-detect-element-resize (MIT) — https://github.com/sdecima/javascript-detect-element-resize
tilt.js (MIT) — https://github.com/gijsroge/tilt.js
Schedule-X Calendar 4.6.1 (MIT) — assets/lib/schedule-x/ with Preact under assets/lib/preact/ and @js-temporal/polyfill as assets/lib/temporal-polyfill/js-temporal-schedule-x.min.js
Source: https://github.com/schedule-x/schedule-x — License notes: assets/lib/schedule-x/README.txt.
@lottiefiles/lottie-player (MIT) — assets/lib/lottie-player/lottie-player.js
Source: https://github.com/LottieFiles/lottie-player — License notes: assets/lib/lottie-player/README.txt.
lottie-web 5.13.0 (MIT) — assets/lib/lottie-web/lottie.js
Source: https://github.com/airbnb/lottie-web — License notes: assets/lib/lottie-web/README.txt.
WaveSurfer.js 7.9.9 (BSD-3-Clause) — optional Audio Player waveform skin
Source: https://github.com/kwavesurfer/wavesurfer.js — License notes: assets/lib/wavesurfer/README.txt.
GMAP3 (GPL-3.0+) — http://gmap3.net
Leaflet v1.9.4 (BSD-2-Clause) — assets/lib/leaflet/leaflet.js / leaflet.css (OpenStreetMap map provider)
Source: https://github.com/Leaflet/Leaflet — License notes: assets/lib/leaflet/README.txt.
Slidebars (MIT) — http://www.adchsm.com/slidebars/

Date/time formatting in the Calendar widget uses Moment.js registered by WordPress core when available.

Development

Human-readable source for bundled/minified assets (included in this plugin package):

  • assets/css/frontend.min.css and assets/css/frontend-rtl.min.css — built from assets/css/frontend.css and assets/css/frontend-rtl.css.
  • assets/js/frontend.min.js — built from assets/js/frontend.js.
  • assets/js/search-form-editor.js — Elementor editor helper for Search Form restriction controls (loaded in the editor only).
  • assets/js/landtech-extras-calendar-schedule-x.js and assets/js/table-csv-editor.js — widget helpers (not minified; loaded directly when needed).
  • assets/js/admin.min.js, assets/js/editor.min.js, and assets/js/notice.min.js — built from their matching non-minified files in assets/js/.
  • assets/css/admin.min.css, assets/css/editor.min.css, and assets/css/editor-preview.min.css — built from matching non-minified CSS in assets/css/.
  • Widget/library .min.js / .min.css under assets/lib/ — non-minified counterparts ship in the same folder where applicable; third-party-only bundles are documented under Third-party libraries above and in the per-library README.txt files under assets/lib/.
  • assets/lib/landtech-extras-anime-helpers.js — TweenMax-compatible animation shim using bundled anime.js (MIT).

From the plugin root, after npm install, run npm run build:assets to regenerate the minified frontend CSS/JS files listed above (used by default enqueues when SCRIPT_DEBUG is false).

Before publishing a public GitHub mirror, verify any Repository or Source URL in this readme returns HTTP 200 (WordPress.org reviewers check linked URLs).

Support

Full documentation for every widget, extension, and API is at extrasforelementor.com/docs. For add-on purchases, feature requests, and bug reports, email sales@landtechwebdesigns.com or use the contact options on Land Tech Web Designs.

Credits

Developed by Land Tech Web Designs, Corp.

Screenshots

Installation

  1. Install and activate Elementor.
  2. Install and activate LandTech Extras for Elementor from this directory or from WordPress.org once published.
  3. Edit pages with Elementor and use LandTech Extras for Elementor widgets and extensions.

FAQ

Does this plugin require Elementor?

Yes. LandTech Extras for Elementor requires the free Elementor page builder to be installed and active.

Which Elementor version is required?

Elementor 3.5.0 or later. Compatibility is documented in the plugin header (Elementor tested up to).

Can I use this without Elementor Pro?

Yes. All free widgets and extensions work without Elementor Pro. Some widgets note when Elementor Pro is required.

How do I disable widgets I don’t use?

Go to Elementor LandTech Extras in your WordPress admin and uncheck any widgets or extensions you don’t plan to use. This improves Elementor editor load time.

How do I get an API key for Google Maps?

Follow the Google Maps API key guide and enter your key under Elementor LandTech Extras APIs.

Is this plugin affiliated with Namogo or Elementor Ltd.?

No. This is an independent fork of the original Elementor Extras plugin by Namogo, maintained by Land Tech Web Designs. It is not affiliated with or endorsed by Namogo or Elementor Ltd.

Is this a replacement for Elementor Extras / Extras for Elementor?

Yes. LandTech Extras for Elementor is an independent, GPLv3-maintained continuation of the Elementor Extras (Extras for Elementor) widget set. It is intended for sites that need those Elementor widgets and extensions without relying on the discontinued original distribution. Widget type slugs (ee-calendar, posts-extra, and similar) are preserved so existing Elementor JSON templates can load after you deactivate the old plugin and activate LandTech Extras.

Does this plugin require the Premium add-on?

No. Every widget and extension in this plugin works without Premium. The paid add-on is a separate plugin that adds extra capabilities. It does not unlock features that already ship here.

What does the Premium add-on add?

WooCommerce extras, multi-step forms, header/footer builder, AI workspace, booking, social feeds, and other lanes listed under Optional Premium add-on above. Details: extrasforelementor.com/docs/premium.

Can I migrate from Elementor Extras or Namogo Extras?

In most cases, yes. Export your Elementor templates, replace the old plugin with LandTech Extras for Elementor, and re-open pages in Elementor. Widgets should resolve under the LandTech Extras category. Re-save pages if Elementor prompts you to update data. Compare your widget list with the Widgets and extensions section above; optional API keys (Maps, Instagram) must be re-entered under Elementor LandTech Extras APIs.

Does this plugin include Gutenberg blocks?

No. LandTech Extras adds Elementor widgets and Elementor editor extensions only. Search terms like “Elementor blocks” usually refer to Elementor widgets or sections; this plugin does not register WordPress block editor blocks.

What prefix does this plugin use in code?

PHP functions, hooks, options, and transients use the landtech_extras_ or ltxe_ prefix (four or more characters). Script/style handles use landtech-extras-. Namespaced PHP classes live under LandTechExtras\. Elementor widget type slugs (for example ee-calendar or posts-extra) are retained from the upstream Elementor Extras fork so existing Elementor templates keep working; they are Elementor element identifiers, not WordPress options or hooks.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“LandTech Extras for Elementor” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

2.9.0

  • Add: Testimonials (ltxe-testimonials) — manual, WooCommerce review, or comment sources; carousel/grid/single; optional AggregateRating schema.
  • Add: FAQ Accordion (ltxe-faq) with keyboard navigation and optional FAQPage schema. Existing FAQ Schema (ee-faq-schema) is unchanged.
  • Add: Team Members, Icon Box, and Call to Action widgets (flip/hover effects respect reduced motion).
  • Add: Social Share, Back to Top, Cookie Consent, Sticky Wrapper, and Dark Mode Toggle.
  • Add: ACF Free dynamic tags, block patterns, editor SEO hints, and Generate alt text via the WordPress AI Client.
  • Add: Informational Premium catalog on Add-on features when the separate Premium plugin is not active (hidden after Premium is activated).
  • Add: Playground demo pages for the new widgets; public docs at extrasforelementor.com/docs.
  • Note: 2.6–2.8 work (Lottie, calendar feeds, pricing, progress, countdown, video playlist, gallery/tabs/SVG upgrades) is included in this directory release. See those version headings for detail.

2.8.4

  • Fix: Tabs first panel is visible again (hidden="false" still hid it), and tab icons no longer render at full SVG size over the labels.

2.8.3

  • Fix: Hotspots now bind click/hover tooltips when Elementor Improved Asset Loading prints LandTech scripts after elementor/frontend/init.

2.8.2

  • Fix: Inline SVG now fetches and injects the SVG from data-url even when Elementor Improved Asset Loading prints scripts after elementor/frontend/init.
  • Fix: Calendar month grid paints days when Schedule-X leaves the wrapper empty, and Temporal date-only strings no longer abort month generation.
  • Fix: Multiple Popup widgets on one page no longer share a single GLightbox instance, so click triggers work after a delay popup.

2.8.1

  • Fix: Print per-widget CSS/JS on pages that use Elementor Improved Asset Loading so Progress Bar, Calendar, Countdown, and other 2.8 widgets initialize on the frontend.
  • Fix: Calendar Schedule-X now self-boots without the legacy frontend.js bundle.

2.8.0

  • Add: Pricing Table and Pricing Toggle widgets with monthly/annual switch (ltxe_pricing_toggle_changed) and optional WooCommerce add-to-cart when WooCommerce is active.
  • Add: Star Rating widget with half-star display, review count, and optional AggregateRating schema.
  • Add: Video Playlist widget (YouTube, Vimeo, self-hosted MP4) under the media-player module. Embeds are built with DOM APIs, not innerHTML.

2.7.0

  • Add: Progress Bar, Countdown (fixed datetime), and Reading Progress widgets.
  • Add: Hotspot tooltip content types — Elementor template and image — alongside existing text.
  • Add: Tabs vertical orientation, mobile accordion, and hash / ?tab= deep linking.
  • Add: Gallery video tiles (GLightbox) and client-side load more / infinite / numbered pagination for manual galleries.
  • Add: Inline SVG per-path colors and draw/fade/scale/rotate animations (respects reduced motion).
  • Add: Image Comparison vertical drag and start-position control.

2.6.0

  • Add: Lottie playback triggers (scroll, scroll-scrub, hover, click), speed, direction, and segment play via bundled lottie-web, with the existing lottie-player path kept for simple autoplay.
  • Add: Calendar sources for iCal / Google Calendar URLs, The Events Calendar, and WooCommerce Bookings (when those plugins are active).
  • Add: Popup delay, scroll-percentage, inactivity triggers, and cookie/session suppression.
  • Add: Per-widget frontend script loading (LTXE_FRONTEND_SPLIT). Shared helpers live in frontend-core.js; the previous monolithic frontend.js stays registered for one major version and loads only when a widget still depends on it.

2.5.13

  • Fix: Schema output kept camelCase schema.org property names intact. Property keys were passed through sanitize_key(), which lowercased them (mainEntity became mainentity), so the EE FAQ Schema widget never printed its FAQPage JSON-LD, and breadcrumb itemListElement, organization sameAs and event startDate / endDate / eventStatus / eventAttendanceMode properties were emitted with invalid names. Keys are now stripped to letters, digits, _, - and @ without changing case.

2.5.12

  • Update: Bundled anime.js upgraded from 4.0.2 to 4.5.0 (MIT), using the upstream UMD bundles. Every function the plugin’s animation helpers call is unchanged, so existing widget animations keep working.
  • Fix: TweenMax.killTweensOf() in the animation shim now actually stops running animations (anime.js 4.5.0 exposes remove, which 4.0.2 did not). Hotspot tooltips that are hovered in and out quickly no longer let the previous show/hide animation keep running.

2.5.11

  • Fix: EE Calendar grid renders as a <table> at desktop widths and did not force any responsive layout. On viewports 767 px and under, the calendar container now becomes a horizontally scrollable block so a full month grid does not push the page sideways on phones, while the day cells retain their existing typography and styling.
  • Fix: EE Gallery with Layout: Slider set to the vertical direction used a 400 px fixed inline height. On viewports 767 px and under, the vertical slider height now falls back to 50dvh (with a 50vh fallback for older browsers) so the slider never claims more than half of a phone’s visible height, and the aspect ratio can be reset with a normal Elementor height control override.
  • Fix: EE Image Comparison output stretched to the widget’s rendered width without constraining the underlying <img> elements, so a landscape image inside a narrow phone column could grow past the widget frame. On viewports 767 px and under, both images are now clamped to width: 100% with object-fit: cover so the comparison stays inside the widget column regardless of the source image dimensions.
  • Fix: EE Popup and EE Age Gate opened via Magnific Popup used the library’s default max-width and no safe-area handling, which on phones ran the close button under the browser chrome / notch and cropped tall popups. On viewports 767 px and under, popup content is now clamped to calc(100vw - 32px) and its bottom padding respects env(safe-area-inset-bottom) so the popup fits inside the visible viewport and the close button stays reachable.
  • Fix: EE Hotspots positioning is set with transform: translate(-50%, -50%) scale(N) from the widget’s controls, and at very small N values (< 0.5) the resulting interactive footprint dropped below WCAG 2.5.8’s 24×24 px minimum. Each hotspot now enforces a 24 px minimum click target (with the scaled visual centred inside it) on viewports 767 px and under, without changing the visible dot / icon size the editor configured.
  • Fix: EE Slide Menu submenu triggers (.ee-menu__arrow) had a 20 px tap target — below WCAG 2.5.8. The arrow now enforces a 24 px minimum interactive box at every viewport (with box-sizing: border-box), while the arrow glyph itself is unchanged.
  • Fix: EE Google Map navigation UI positioned at bottom sat under the browser chrome and phone-notch inset. The bottom-positioned UI now respects env(safe-area-inset-bottom) and is clamped to calc(100vw - 32px) so it stays fully on-screen on phones.
  • Fix: EE Lottie output previously carried an inline style="width:100%;max-width:480px;" attribute on <lottie-player>, which conflicted with responsive Elementor width/max-width controls. The inline attribute has been removed and the same defaults are now provided by the bundled Wave 4 CSS, so Elementor’s own size controls take precedence when set.

2.5.10

  • Fix: EE Devices Extended widget’s laptop, desktop, and window frames are 645, 895 and 1000 px wide respectively, which was pushing the page sideways on phones because the widget carries no responsive rule. On viewports 767 px and under, each device frame is now capped to the column width while its aspect ratio (set via padding-bottom percentages on .ee-device__media__inner) is preserved, so the frame scales down instead of overflowing.
  • Fix: EE Swiper-based sliders using the --outside navigation-position skin had their prev/next arrows placed at left: -100px and right: -100px, which put them off the phone viewport with no other way to advance the slide. On viewports 767 px and under, both arrows now sit 8 px inside the container. Larger breakpoints are unchanged.
  • Fix: EE Scroll Indicator bar-skin markers had a 6 px tap target — below the 24 px minimum in WCAG 2.5.8. On viewports 767 px and under, the surrounding <a> element now expands to a 24 px minimum height with the 6 px bar centred vertically inside it. The visible bar height is unchanged.
  • Fix: EE Search Form --expand skin animates open to a fixed 300 px, which overflowed narrow phone viewports and clipped the input. On viewports 767 px and under, the expanded width is now clamped to calc(100vw - 32px) so it stays inside the visible area. Above 767 px the 300 px width still applies.
  • Fix: EE Switcher --overlay skin has 48 px of inner padding on its content pane, which wasted horizontal space on phones. On viewports 767 px and under, the padding is reduced to 24 px.
  • Fix: EE Offcanvas slidebar defaults to 50% of the viewport width, which is roughly 240 px on a 480 px phone — too narrow to be usable for menu or content layouts. On viewports 480 px and under, the slidebar now takes the full viewport width. Above 480 px the 50% width is unchanged, and any user-set width still overrides it.
  • Fix: EE Live Data Table pagination Prev/Next buttons had a 6 px vertical padding that made them ~12 px tall, below the WCAG 2.5.8 24×24 px minimum. The buttons now enforce a 24×24 minimum interactive box (with box-sizing: border-box) at every viewport; the visual button size does not change on desktop.

2.5.9

  • Change: The Tabs and Table of Contents widgets no longer carry controls that were registered in a disabled state. The options that were only offered when a paid add-on was installed have been removed from this plugin entirely and are now supplied by that add-on instead, so nothing here ships switched off waiting to be unlocked.
  • Add: Extension points so an add-on can restore those options without this plugin needing to know about it — the landtech_extras/tabs/register_repeater_controls action, the landtech_extras/tabs/wrapper_attributes and landtech_extras/tabs/tab_label_html filters, the landtech_extras/toc/wrapper_attributes filter, and the landtech_extras/toc/before_list action. The Tabs and Table of Contents scripts now also fire ltxe:tabs:activated and ltxe:toc:built.
  • Fix: The Tabs widget no longer loads the anime.js library. It was declared as a hard script dependency but nothing in this plugin used it.
  • Fix: The Tabs slug field no longer describes ?tab=slug deep links as a paid feature. They have always worked here.

2.5.8

  • Fix: Table of Contents “Sticky left” and “Sticky right” layouts now run full width and in normal flow on phones. The 240px float previously left body text about fifteen characters wide, and the widget has no responsive controls to work around it.
  • Fix: Table of Contents sticky height now uses dvh so it cannot exceed the visible area on mobile browsers, where vh resolves against the larger address-bar-hidden viewport.
  • Fix: Audio and video player seek bars can now be dragged to scrub on touch devices. Only mouse events were bound, so tapping worked but dragging did nothing. Volume sliders gained the same handling for tablets.
  • Fix: Audio and video player seek bars and their play, previous, next and rewind buttons now meet the 24px minimum touch target in WCAG 2.5.8. The controls row centres its items, so each was only as tall as its glyph.
  • Fix: Off-canvas floating trigger placed along the bottom edge now respects env(safe-area-inset-bottom), so it no longer sits under the gesture bar on phones that reserve space there.
  • Fix: The audio and video player scripts are now minified by the documented build pipeline, so their .min.js files can no longer drift away from the sources they are built from.

2.5.7

  • Fix: Admin menu priority changed from 200 to 5 so the “Elementor Extras” top-level menu item is registered in $menu before premium submenus (priority 30–60) attach to it. Fixes 404/wrong-URL errors for all premium lane menu items when the premium add-on is also active.

2.5.6

  • Add: Elementor Extras top-level admin menu item in the WordPress sidebar, positioned immediately after Elementor (position 26). LandTech Extras settings now appear under their own dedicated parent instead of being nested inside the Elementor submenu. When the Premium add-on is also active, all premium lanes (license, Premium Lanes, Performance, Social Proof, Cross-Site Clipboard, etc.) appear as additional children under the same top-level item.

2.5.5

  • Add: WordPress Playground demo pages for EE Tabs (demo-tabs) and Table of Contents (demo-table-of-contents).
  • Improved: Playground Search Form demo description mentions include/exclude restriction modes.

2.5.4

  • Fix: Short description in readme.txt shortened to WordPress.org 150-character limit (directory listing was truncated on import).

2.5.3

  • Fix: WordPress.org Plugin Check — canonical readme.txt filename; rename bundled @js-temporal/polyfill file so it is not flagged as core polyfill.min.js.
  • Fix: Sanitize widget preset AJAX JSON payloads; PHPCS for Search Form restriction mode controls and pre-6.4 autoload option fallback.
  • Improved: Plugin header Elementor tested up to and Elementor Pro tested up to 4.3.2.

2.5.2

  • Add: EE Tabs widget (ee-tabs) with horizontal tabs, repeater content, and template slots.
  • Add: EE Table of Contents widget (ee-table-of-contents) with page-scope heading scan.
  • Add: Search Form Include only restriction mode for categories and other taxonomies (whitelist terms instead of excluding many categories site-wide).
  • Add: Search Form Restriction mode for post types (include or exclude lists).
  • Fix: Hidden Search Form restrictions send compact include/exclude payloads in ltxe_search_query (shorter search result URLs; exclude mode uses NOT IN instead of listing every allowed term).
  • Fix: Search Form Include/Exclude term pickers list categories again in the Elementor editor (Select2 options restored; editor REST helper for saved slugs).
  • Improved: Search Form Restrictions & Filters loads up to 500 terms per taxonomy in control options (sorted by name) for sites with large category lists.

2.4.4

  • Fix: Ship assets/js/viewport-bridge.js with the free plugin so Premium viewport display conditions no longer 404 the script on frontend.
  • Add: Viewport display condition (mobile/tablet/desktop) and breakpoint helpers for WordPress 7.0+ visibility bridge.

2.4.3

  • Fix: Tooltip extension no longer triggers PHP warnings when tooltip_enable is unset on a widget.
  • Fix: Posts and Timeline widgets load Posts_Base before class declaration to prevent fatal errors on frontend.
  • Fix: Widget registration loads class files before calling static methods, preventing fatals for FAQ Schema and other widgets.
  • Fix: Autoloader uses require_once for reliable class loading.
  • Improved: Zip build verifies posts-base.php, faq-schema.php, and schema-validator.php are included in releases.

2.4.2

  • Fix: Activation redirect and version-tracking options use autoload = no to avoid loading one-shot flags on every request.

2.4.1

  • Remove: CLNDR library and legacy calendar markup/CSS after Schedule-X migration.
  • Fix: Calendar widget wires First Day, Earliest/Latest Month, and Default Month settings to Schedule-X.
  • Remove: Dead Elementor style controls for CLNDR-era navigation, header, days, and compact event list UI.
  • Improved: Organization schema validation (dedicated rules when @type is Organization).
  • Add: Shared Schema_Builder helpers for Organization and Event JSON-LD (consumed by Premium Schema Suite).

2.4.0

  • Fix: Unfold widget — anime.js v4 timeline and height animations work again via updated GSAP shim.
  • Fix: Heading animations — TweenMax.from() presets use anime.js v4 animate(targets, params) API.
  • Add: Widget preset import/export — export/import current widget settings as JSON from the Elementor editor (nonce + capability gated).
  • Add: Editor widget health hints — dismissible panel notices for missing Maps API key, empty gallery, and similar local checks.
  • Add: Admin command palette (lite) — shortcuts to LandTech settings and documentation when WordPress wp-commands is available.
  • Improved: Accessibility batch 1 — Google Map, Audio Player, Popup, Offcanvas, and Posts Extra carousel focus/ARIA/keyboard/reduced-motion support.
  • Improved: Posts Extra grid — equal-height cards and responsive column gaps (CSS only).
  • Improved: Element HTML cache — opt-in caching for Table, Inline SVG, and Text Divider static widgets.

2.3.3

  • Fix: Audio Player widget no longer fatal-errors Elementor preview when reading waveform_skin in get_script_depends() before settings hydrate.
  • Add: Extras_Widget::ltxe_try_get_settings() helpers for safe asset dependency registration during preview bootstrap.

2.3.2

  • Fix: Google Map widget no longer fatal-errors Elementor preview when settings are not hydrated yet (get_style_depends / get_script_depends use safe settings read).

2.3.1

  • Fix: Register landtech-extras-frontend styles only when elementor-frontend is registered (WordPress 6.9.1+ dependency notice).
  • Fix: Search Form skin null-safe trim() on empty button label text.
  • Add: Add-on features tab shows Premium add-on version and feature toggle count when the add-on is active.
  • Add: landtech_extras/acf_gallery_bridge_enabled filter hook for Premium entitlement gating of ACF gallery controls.

2.3.0

  • Phase 0: TableSorter v2.32.0; Isotope/Packery non-pkgd builds; Leaflet OpenStreetMap map provider; library metadata alignment.
  • Phase 1: Toggle FAQPage JSON-LD; display conditions (cookie, UTM presets, business hours); Table pagination and CSV paste import in the editor.
  • Phase 2: Calendar migrated to Schedule-X; anime.js v4 with updated animation helpers; Heading Extra entrance animation presets; Audio Player optional WaveSurfer waveform skin; video player native playback-rate support; audio-player header typo fix.
  • Phase 3: Posts Extra list, featured-grid, and timeline layout skins; Search Form live AJAX results via public REST route; new Lottie widget.
  • Playground: demo pages for Lottie, FAQ Schema, Posts list/featured-grid/timeline skins, paginated Table, OpenStreetMap map provider, and live search.

2.2.101

  • Docs: Breadcrumbs widget documents optional BreadcrumbList structured data (microdata) when Structured data is enabled in widget settings.

2.2.100

  • Fix: Devices widget scrollable portrait/landscape screens — CSS targeted non-existent class names; scrolling now works when enabled.
  • Fix: Devices orientation toggle no longer shows a blank landscape screen when no landscape screenshot is set (falls back to portrait image).
  • Fix: Playground Devices demo uses tall portrait and landscape screenshots so scroll and rotate are demonstrable.

2.2.99

  • Fix: Shorten readme short description to meet WordPress.org 150-character limit.

2.2.98

  • Fix: Playground Button Group demo ships fallback page CSS (padding, colors, effect backgrounds) so hover effects are visible when Elementor post CSS is incomplete.
  • Fix: Playground Switcher demo shows Design / Build / Launch on the frontend — entrance animation now falls back when the appear plugin does not fire; nav stays visible on all breakpoints.
  • Fix: Playground Devices demo seeds a phone screenshot, scrollable screen content, and orientation toggle instead of an empty mockup.

2.2.97

  • Docs: readme SEO — short description, widget catalog, and FAQ entries for Elementor Extras / Extras for Elementor migration and replacement terminology.

2.2.96

  • Add: Optional sanitized SVG uploads — Elementor LandTech Extras Advanced Allow SVG uploads (admin opt-in; files sanitized on upload; works with Elementor media controls).
  • Add: Inline SVG widget Source control — choose Media Library or Custom URL so you can link to an .svg without uploading through WordPress.
  • Fix: Playground Inline SVG demo enables Override Color and uses the bundled SVG URL source.

2.2.95

  • Fix: Buttons widget hover effects did not animate because transition CSS targeted the wrong pseudo-elements; base styles now apply transitions to .ee-button:before / :after with sensible defaults.
  • Fix: Buttons without a link now use a no-op # href (with preventDefault) so click and hover behave consistently on the frontend.
  • Fix: Custom button effect modifier classes (direction, entrance) fall back to control defaults when unset so Clone/Background effects are not stuck in a neutral state.
  • Fix: Button Group tooltip init no longer throws when tooltip delay settings are absent (non-tooltip buttons).
  • Fix: Playground demo pages regenerate Elementor post CSS after seeding so per-button effect colors and timing apply.

2.2.94

  • Fix: Calendar event clicks did nothing on the Default skin because the events panel stayed display: none even when show-events was toggled; the panel now overlays the month view when a day with events is clicked.
  • Fix: Calendar event title links without a URL now open the events panel instead of doing nothing.
  • Fix: Playground Calendar demo seeds compact skin with sample manual events so click-to-reveal behavior is testable.

2.2.93

  • Fix: Switcher widget stayed blank on the published frontend because entrance animation hides all slides until jQuery Appear fires; above-the-fold widgets now trigger appear immediately and nav/arrows opacity animations accept combined jQuery targets.
  • Fix: anime.js helper now resolves arrays of jQuery collections (nav + arrows) for TweenMax.set/to calls used by Switcher.

2.2.92

  • Fix: Scroll Indicator progress never updated because jQuery .data('start-offset') / .data('end-offset') do not read HTML data-start-offset attributes (camelCase keys required); offsets are now read reliably and full-page body tracking uses document height.
  • Fix: Playground Scroll Indicator demo seeds three anchored sections (List skin) with matching heading CSS IDs and scrollable content between them.

2.2.91

  • Fix: Age Gate and Popup modals showed a blank white box because legacy Magnific Popup animation CSS hides .mfp-with-anim until .mfp-ready is on the container; GLightbox now adds that class on open.
  • Fix: Playground Age Gate demo seeds title, description, required age, button label, and classic skin.

2.2.90

  • Fix: Popup and Age Gate modals opened empty because inline content kept mfp-hide / glightbox-hide (display: none !important) after the GLightbox migration; hide classes are now stripped before inline slides load.
  • Fix: Playground Popup demo seeds title, body copy, classic skin, and an Open modal click trigger.

2.2.89

  • Fix: Unfold open/close animation failed because the anime.js timeline shim did not return the timeline from chained .to() calls (GSAP-style .add().to().to()).
  • Fix: Playground Unfold demo now seeds multi-paragraph content, 35% visible height, and Read more / Read less labels.

2.2.88

  • Fix: Switcher widget stayed invisible on the frontend because the anime.js timeline shim did not understand GSAP label positions (animateAll, animateAll+=, -=); Switcher and Unfold animations now resolve correctly.
  • Fix: Playground Switcher demo seeds three panels with images, classic skin, and entrance animation off for a reliable Live Preview.

2.2.87

  • Fix: Playground Inline SVG demo now ships a bundled SVG URL plus color, sizing, and hover settings (empty settings previously rendered a blank frontend).

2.2.86

  • Fix: Playground Button Group demo now seeds Clone, Flip, Background, 3D, and Cube hover effects (custom per-button styling was previously unset).

2.2.85

  • Fix: Gallery Slider thumbnail clicks now use explicit slide indexes, Swiper loop/fade/RTL handling, and auto-height updates so the preview image stays visible when navigating.
  • Fix: Gallery Slider preview skips broken attachment URLs and falls back to the gallery item URL when needed.
  • Fix: Playground Gallery Slider demo enables Elementor lightbox on preview images.

2.2.84

  • Fix: Playground critical error — store _elementor_page_settings as a PHP array (not JSON text) so Elementor page rendering does not fatal on PHP 8.
  • Fix: Playground seeder sets the admin user during blueprint runPHP so Elementor document saves succeed.

2.2.83

  • Fix: Playground demo homepage rebuilt with styled CSS hero, category sections, and card links to all 28 free widget demos (Elementor HTML widget).
  • Fix: Demo pages use the Elementor header/footer template and hide the theme page title for cleaner previews.

2.2.82

  • Fix: Timeline demo works on WordPress Playground — widget registers on free Elementor (custom items); Posts source still requires Elementor Pro.
  • Fix: Playground Timeline demo seeds custom milestone items with sample content and images.

2.2.81

  • Fix: Posts Extra demo works on WordPress Playground (free Elementor) via a standard WP_Query fallback when Elementor Pro query controls are unavailable; demo seeder now includes full grid/query settings.
  • Fix: Posts Extra registers on free Elementor installs for basic post grids; advanced Query panel still requires Elementor Pro.

2.2.80

  • Fix: Playground demo pages (including Switcher Demo) resolve at pretty permalinks after seeding via flush_rewrite_rules().
  • Fix: Switcher and Toggle Element demo pages seed with default panel content instead of empty widget settings.
  • Fix: Demo pages save Elementor canvas data through the Elementor document API when available.

2.2.79

  • Fix: Gallery Slider — initialize Swiper through Elementor’s async loader, correct thumbnail slideTo / slideToLoop handling, and guard against uninitialized instances.
  • Fix: anime.js unminified build no longer throws module is not defined in the browser when SCRIPT_DEBUG is enabled.

2.2.78

  • Try It Live demos — Playground blueprint seeds a demo homepage, one Elementor page per free widget (28 demos), sample media/posts, and a grouped navigation menu via includes/playground-demo-seeder.php.

2.2.77

  • Fix: WordPress Playground Try It Live link uses the public WordPress.org SVN blueprint URL (GitHub source repo is private).

2.2.76

  • Try It Live — WordPress Playground blueprint (blueprint.json, assets/blueprints/blueprint.json), readme Try It Live – Preview This Plugin Instantly section, and Live demo links on the Plugins screen.

2.2.75

  • WordPress.org soft-warning remediation: standardized plugin prefixes on dismissible notice transients (landtech-extras-*), search-form action hooks (landtech_extras/…), Posts pagination query var (ltxe-page), and Elementor Select2 script handle (landtech-extras-elementor-select2); expanded External Services readme (browser vs server requests, exact hostnames); fixed search-form dynamic hook registration.

2.2.74

  • WordPress.org review follow-up: removed unnecessary wp-admin/includes/plugin.php load from bootstrap guard; all is_plugin_active() call sites use guarded landtech_extras_require_plugin_api(); Infinite Scroll core build strips jQuery bridge code (vanilla DOM API only).

2.2.73

  • WordPress.org review (T2): ACF Gallery bridge is fully enabled when Advanced Custom Fields is active (removed add-on entitlement gate); fixed PHP syntax error in template loop background-image module; removed unnecessary wp-admin/includes/plugin.php include; upgraded GLightbox to 3.3.1; Infinite Scroll build comment updated to avoid bundled-jQuery scanner false positive.

2.2.72

  • WordPress.org review follow-up: Infinite Scroll rebuilt as core-only bundle (no jquery-bridget); Posts Classic uses new InfiniteScroll() API; Isotope/Packery register with WordPress core jQuery dependency; all plugin script handles prefixed with landtech-extras-.

2.2.71

  • WordPress.org review remediation: replaced unmaintained Magnific Popup with GLightbox (MIT); removed GPL-incompatible GreenSock/GSAP, SplitText, and CustomEase in favor of anime.js + Splitting.js; Infinite Scroll now registers with WordPress core jQuery; template loop background CSS uses wp_add_inline_style() instead of inline <style> tags; prefixed admin dismiss notice keys; removed Load TweenMax setting.

2.2.70

  • WordPress.org submission readiness: API key/token settings use identity sanitization (not sanitize_text_field()); expanded Development and third-party library documentation in readme; distribution zip output to DIST/; removed dead stub module folders.
  • Admin: dismissible notice AJAX hardened (nonce + capability).

2.2.69

  • Posts Extra (Classic): Packery second item width control and .ltxee-packery-second span class for Metro tiles (Packery); default CSS in assets/css/frontend.css and frontend-rtl.css.
  • Build: package.json includes npm run build:assets to regenerate minified frontend CSS/JS (see Development).

2.2.68

  • Posts Extra (Classic): responsive Packery: first item width when layout is Metro tiles (Packery); overrides default width for .ltxee-packery-featured per breakpoint.

2.2.65

  • WordPress 6.7+: when no landtech-extras-for-elementor-{locale}.mo exists, assign NOOP_Translations for the text domain so gettext on plugins_loaded does not hit just-in-time loading before after_setup_theme.

2.2.64

  • WordPress 6.7+: load first readable .mo via load_textdomain() on plugins_loaded (early priority) so add-on/embeddings hooks avoid “translation loading triggered too early”.

2.2.63 / 2.2.62

  • Superseded text-domain timing fixes for WordPress 6.7+ — use 2.2.64+.

2.2.61

  • Gallery widget: removed invalid packery-mode script dependency; cleaned redundant vendor stubs (Posts Packery stack unchanged).

2.2.60

  • Metro tiles (Packery): Packery + Isotope wiring, ltxee-packery-featured, Phase 4 layout policy / grandfather scan updates.

2.2.59

  • Posts Base: landtech_extras/posts/advanced_query_args, query_paged, set_query_args hooks before set_query() (add-on REST facets / advanced query).

2.2.58

  • metro layout (Isotope fitRows), landtech_extras/posts/grid_layout_mode_choices filter, resize-safe Isotope relayout, Phase 4 metro handling.

2.2.57

  • Posts Extra preset skins use Classic loop handler; editor loads Isotope only when the document needs it; landtech_extras/settings/features_fields for add-on settings.

2.2.56

  • Devices widget: landscape/portrait and Group_Control_Image_Size guards; correct image URL validation for requested field.

2.2.55

  • Posts Extra: defer Isotope until needed; Phase 4 opt-in filters for add-on masonry grandfather.

2.2.54

  • ACF gallery bridge (ACF required): Gallery / Gallery Slider ACF Gallery source (includes/gallery/acf-gallery-bridge.php).

2.2.53+ (fork)

  • LandTech Extras for Elementor on WordPress.org: External Services / BYOK readme disclosure, org–add-on coexistence (LANDTECH_EXTRAS_RUNTIME_FAMILY), text domain landtech-extras-for-elementor, GPLv3, directory updates only (no custom org updater).

Earlier releases

  • Releases 2.2.52 and older inherit the historical Elementor Extras changelog (widgets, extensions, Elementor compatibility). The full line-by-line history is omitted here to satisfy WordPress.org’s 5,000-character Changelog limit; consult Git/SVN or shipped release archives for the complete record.