=== Multilingual Visibility for Elementor ===
Contributors: mapodec
Donate link: https://mapodec.es
Tags: elementor, wpml, language, visibility, multilingual
Requires Plugins: elementor
Requires at least: 5.8
Tested up to: 6.9
Stable tag: 1.0.2
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Control the visibility of any Elementor container, section, column, or widget based on the active WPML language.

== Description ==

Multilingual Visibility for Elementor is a lightweight, zero-bloat extension that bridges the gap between Elementor and WPML. It allows you to easily show or hide specific Elementor elements depending on the current active language, directly from the Elementor Editor.

If you have ever needed to display a specific banner, button, or section exclusively to your Spanish users, and a different one to your English users, this plugin provides the native-like experience you need.

Instead of duplicating entire pages or dealing with messy CSS classes, you can manage language visibility just like you manage mobile or tablet responsiveness in Elementor.

= Main Features =

Seamless Integration: Adds a new "WPML Language Visibility" panel inside the Elementor "Advanced" tab.

Complete Control: Works with standard Elementor elements: Widgets, Columns, Sections, and Flexbox Containers.

Show or Hide Logic: Choose to either show an element only on selected languages, or hide it on selected languages.

Zero Impact on Performance: Uses native Elementor and WPML rendering hooks. It doesn't load unnecessary CSS or JS on your frontend.

WPML & Elementor Pro Compatible: Fully tested with WPML, Elementor Free, and Elementor Pro (Classic Editor UI).

= Developed by MAPODEC =

This plugin is actively maintained and developed by [MAPODEC](https://mapodec.es), a web design and marketing agency based in Seville, Spain.

== Installation ==

Upload the plugin files to the /wp-content/plugins/ directory, or install the plugin through the WordPress plugins screen directly.

Activate the plugin through the 'Plugins' screen in WordPress.

Make sure both Elementor and WPML Multilingual CMS are installed and activated.

Open any page with Elementor.

Select a Container, Section, Column, or Widget.

Go to the Advanced tab.

Scroll down to WPML Language Visibility, enable the restriction, and select your desired languages!

== Frequently Asked Questions ==

= Do I need Elementor Pro for this to work? =
No! The plugin works perfectly with the free version of Elementor as well as Elementor Pro.

= Does it support Flexbox Containers? =
Yes, it fully supports both the classic Sections/Columns layout and the standard Flexbox Containers. (Note: The experimental Atomic Editor UI introduced in newer Elementor versions is currently not supported for UI injection, but frontend visibility rules will still apply if configured previously).

= Why does the text of a hidden container still appear in the WPML Advanced Translation Editor (ATE)? =
This is normal behavior. WPML scans the Elementor database to find translatable strings, regardless of whether they are visible on the frontend or not. You can simply copy the original text or ignore it in the translation editor. Our plugin ensures the element will NOT be rendered on the frontend for the restricted languages.

= Will it slow down my website? =
Not at all. The plugin executes a simple PHP array check before rendering the element. It adds absolutely no extra CSS or JavaScript to the frontend of your website.

== Screenshots ==

The new WPML Language Visibility panel inside the Elementor Advanced Tab. Selecting which languages to show or hide a specific Elementor Container.

== Changelog ==

= 1.0.2 =

Fix: Compatibility with Elementor 3.22+ performance optimization engine. Resolved an issue where dynamic visibility settings were stripped from memory by Elementor caching.

Enhancement: Added frontend support for new internal Elementor block elements (e-div-block and common).

Enhancement: Increased rendering priority to ensure seamless compatibility with external caching plugins like WP Rocket.

= 1.0.1 =

Initial public release.

Added support for Elementor Flexbox Containers, Sections, Columns, and Widgets.

Added Show/Hide logic based on WPML active languages.

Security enhancements (Late escaping for WP.org repository standards).