=== Easy Modal === Contributors: danieliser Plugin URI: https://wordpress.org/plugins/easy-modal/ Author URI: https://danieliser.com/ Tags: modal, popup, lightbox, dialog, overlay Requires at least: 6.3 Tested up to: 7.1 Requires PHP: 7.4 Stable tag: 2.2.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Create unlimited accessible modal windows and reusable visual themes using content from the WordPress editor. == Description == Easy Modal lets site administrators create modal windows, style them with reusable themes, and open them from links, buttons, or images. Features include: * Unlimited modals and themes. * Rich modal content with WordPress shortcodes. * Responsive presets and custom dimensions. * Configurable position, animation, overlay, and close behavior. * Sitewide loading or selection on individual posts and pages. * Automatic Gravity Forms asset loading when Gravity Forms is available. All functionality included in this plugin is available without a license key, quota, trial period, or paid unlock. = Moving to Popup Maker = Easy Modal remains fully functional, but Popup Maker is its actively developed successor. Popup Maker includes modern targeting, triggers, cookies, accessibility improvements, and an importer that converts existing Easy Modal modals and themes while preserving legacy trigger classes through compatibility mode. Read the [Easy Modal migration guide](https://wppopupmaker.com/docs/import-migration/upgrading-from-easy-modal-to-popup-maker/), then install [Popup Maker](https://wordpress.org/plugins/popup-maker/) when you are ready to migrate. You can also review the [first-popup guide](https://wppopupmaker.com/docs/getting-started/create-your-first-popup-summary-guide/) and [trigger guide](https://wppopupmaker.com/docs/getting-started/add-a-popup-trigger/). = Opening a modal = Each saved modal has a trigger class such as `eModal-12`. Add that class to a link, button, or image: `` Replace `12` with the modal ID shown in the Easy Modal administration screen. = Inline modal shortcode = The `[modal]` shortcode renders a modal directly from post content. For example: `[modal id="newsletter" title="Join our newsletter"]Your form shortcode here.[/modal]` Open it with an element whose class matches the generated modal ID: `` == Privacy and external services == Easy Modal does not send site data to the plugin author or to an external service. It does not load remote scripts, styles, images, fonts, analytics, advertisements, license checks, or update metadata. If modal content contains a shortcode or embed supplied by another plugin or by WordPress, that content may use external services according to the behavior and privacy policy of that separate component. == Installation == 1. Upload the `easy-modal` directory to `/wp-content/plugins/`, or install Easy Modal through the WordPress Plugins screen. 2. Activate Easy Modal. 3. Open **Easy Modal > Themes** to customize a theme. 4. Open **Easy Modal > Modals** to create a modal. 5. Add the modal's `eModal-ID` class to the link, button, or image that should open it. == Frequently Asked Questions == = How do I open a modal? = Add the modal trigger class shown in the Modals list to any link, button, or image. For modal ID 12, use `class="eModal-12"`. = Can I use forms and shortcodes in a modal? = Yes. Easy Modal processes WordPress shortcodes in saved modal content. The plugin also detects Gravity Forms shortcodes and asks Gravity Forms to enqueue the form assets when that plugin is active. = Can different modals use different designs? = Yes. Create as many themes as needed, then select a theme while editing each modal. Themes can be cloned and edited independently. = Does Easy Modal contact an external server? = No. Easy Modal itself makes no external requests and does not collect analytics or usage data. = What happened to older paid-feature prompts? = They were removed. Every feature shipped in the WordPress.org plugin is fully available without licensing or payment. == Changelog == = 2.2.0 = * Restored complete unlimited theme management and per-modal theme selection. * Removed licensing, add-on discovery, promotional tracking scripts, and custom update-checker code. * Removed all unsolicited external requests and remotely hosted assets. * Added capability and nonce enforcement to administrative actions. * Added strict request validation, a centralized request boundary, prepared database queries, cascading metadata deletion, and safer redirects. * Added contextual output escaping and rich-content sanitization. * Preserved historical settings, shortcode IDs, capability filters, extension options, embedded content, and zero-duration animations. * Added request-local caching for theme collections, default-theme lookup, and theme counts. * Replaced deprecated WordPress, PHP, and JavaScript APIs. * Removed unmaintained jQuery Cookie and jQuery Transit libraries. * Added WordPress 6.3+, PHP 7.4+, multisite, PHPCS, PHPCompatibility, Plugin Check, and distribution CI support. = 2.1.0 = * Previous public release. == Upgrade Notice == = 2.2.0 = This maintenance release removes obsolete licensing/update infrastructure, unlocks all included theme functionality, and updates Easy Modal for current WordPress and PHP versions.