A widget pack for Elementor built around one idea: a page should only carry the
code it actually uses.
Every widget registers its own stylesheet and its own script, and declares them
as dependencies. Elementor prints only the handles the widgets on that page
asked for. A page with one button widget does not download the CSS for
seventy-nine others, and a widget with no script of its own costs nothing at all.
Widgets you never use can be switched off entirely from the settings screen, so
they are not even registered.
A header and footer builder, free
Build a header, a footer or any reusable block as a template, then choose where
it appears — the whole site, the front page, a post type, an archive, or a
single entry. Elementor’s own theme builder is a Pro feature; this is not.
What is in the box
Some of these are built differently on purpose
Video Box renders a facade, not an embed. A YouTube iframe costs roughly a
megabyte of player code and sets tracking cookies on page load, for every
visitor including the majority who never press play. Here the poster image is
the whole widget until it is clicked, and youtube-nocookie.com is the default
host when it finally loads.
Countdown resolves the author’s date in the site’s timezone on the server and
ships a UTC timestamp, so the browser only ever subtracts. Parsing the author’s
string in the browser — the usual implementation — gives every visitor outside
the site’s timezone the wrong deadline.
Media Carousel is a native scroll container with CSS scroll-snap rather than a
carousel library. That is around 10KB against roughly 160KB for the usual
bundle, it keeps the platform’s own momentum and trackpad behaviour, it is
exposed to assistive technology as a scrollable region for free, and it works
before the script has loaded.
Table of Contents is built in PHP from the post’s own headings, so it is in
the HTML for search engines and reader modes and causes no layout shift. It
reads Elementor’s element tree on builder pages and post_content on
theme-rendered posts — a contents widget that reads only one of those lists
nothing on half the web.
Filterable Gallery removes filtered-out items with the hidden attribute
rather than fading them out, so a keyboard user does not tab through a dozen
invisible links.
Accessibility
Submenus, tabs, accordions and carousels are operated by real buttons carrying
aria-expanded or aria-current, not by hover alone — hover does not exist on
a touch screen and cannot be reached from a keyboard. Anything that moves by
itself has a way to stop it. Every widget respects prefers-reduced-motion.
Multilingual and right-to-left
Every string in the plugin is translatable, in the admin screens and in what
visitors see, and a POT file ships in /languages for anyone starting a
translation.
Thirty-eight of the widget stylesheets carry a right-to-left counterpart, so on
an Arabic, Hebrew, Persian or Urdu site the submenus open on the correct side,
the carousel arrows point the correct way and icons sit on the correct side of
their labels. WordPress swaps the files itself on an RTL locale; a
left-to-right site loads nothing extra and pays nothing for this.
Header and footer templates are a translatable post type, declared through a
wpml-config.xml that both WPML and Polylang read, so each language can have
its own header without any configuration. [vora_template id="12"] resolves to
the current language’s version of that template where one exists, and falls
back to the original where it does not — so a translated page does not end up
showing an untranslated block.
Numbers and dates follow the site’s locale rather than US conventions: the
counter widget uses the locale’s own thousands and decimal marks (so a German
site reads 1.234,5 and not 1,234.5), and dates are formatted with the site’s
settings and translated month and day names.
Most of this plugin talks to nothing outside your site. The widgets below are
the exception, and none of them does anything unless you place that widget on
a page.
Weather widget — Open-Meteo
The Weather widget shows current conditions and a short forecast using
Open-Meteo, a free weather API that needs no account and no key.
api.open-meteo.com, which returns theVideo Box and Sticky Video — YouTube and Vimeo
Both widgets embed a video you choose. Nothing is requested until a visitor
presses play: until then the widget is a poster image, so an unplayed video
costs no request and sets no cookie. Once play is pressed, the player is loaded
from the host you chose — youtube-nocookie.com or youtube.com for YouTube,
player.vimeo.com for Vimeo — which then applies its own tracking and cookies.
YouTube embeds default to youtube-nocookie.com.
Mailchimp widget
The Mailchimp widget posts a subscribe form directly to the Mailchimp form
action URL you paste into it, which is an address on list-manage.com. Your site does not contact Mailchimp; the
visitor’s browser submits to Mailchimp when they subscribe, and the data sent is
whatever the form’s fields collect.
WhatsApp Button — WhatsApp (Meta)
The WhatsApp Button widget is a link to wa.me, WhatsApp’s click-to-chat
address. No WhatsApp script is loaded and nothing is sent while the page is
viewed.
Social Share widget — the networks you choose
The Social Share widget shows share buttons for the networks you pick in the
widget. Each button is a plain link to that network’s own share page. No
network script, button or tracking pixel is loaded, and nothing is sent while
the page is viewed.
The networks, what each share address is used for, and their terms:
facebook.com/sharer — shares the page to Facebook.x.com/intent/tweet — composes a post with the page link and title.linkedin.com/sharing — shares the page to LinkedIn.api.whatsapp.com/send — opens a WhatsApp messaget.me/share — opens a Telegram message with the page link andreddit.com/submit — submits the page link and title as a post.pinterest.com/pin/create — creates a Pin of the page with itsthreads.net/intent/post — composes a post with the pagetumblr.com/share — shares the page link and title to Tumblr.vk.com/share.php — shares the page link and title to VK.social-plugins.line.me/lineit/share — shares the page link in LINE.xing.com/spi/shares — shares the page link to XING.news.ycombinator.com/submitlink — submits theSocial Icons widget links to profile addresses that you type in yourself.
The widget ships with placeholder addresses for Facebook, X, Instagram,
LinkedIn, YouTube, TikTok, Threads, Pinterest, WhatsApp, Telegram, GitHub and
Discord, which you replace with your own. Nothing is sent to any of them; a
visitor who clicks a link simply visits that address, as with any link.