=== Luxe Gallery === Contributors: jannihares Donate link: https://jajasolutions.de Tags: gallery, lightbox, webp, responsive, gutenberg Requires at least: 5.0 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 2.2.2 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Premium gallery with customizable hero grid, WebP optimization and immersive fullscreen view for modern websites. == Description == Luxe Gallery revolutionizes WordPress galleries with a visual grid editor that lets you create unique hero layouts. Combined with automatic WebP conversion, category-based organization and an immersive fullscreen view, it offers the perfect solution for professional image presentations. = Key Features = * **🎨 Visual Grid Editor**: Create custom hero layouts with drag & drop - uniquely customizable for each gallery * **📱 Mobile-First Design**: Responsive design with custom slider for mobile devices * **🗂️ Category-Based Organization**: Organize images in custom categories * **💡 Lightbox**: Modern, touch-friendly lightbox experience * **⚡ WebP Optimization**: Automatic WebP conversion for better performance * **🎨 Drag & Drop Interface**: Intuitive admin interface for managing images * **📝 Shortcode Support**: Easy integration with `[luxe_gallery id="123"]` * **🔧 Page Builder Integration**: Native support for Gutenberg, Elementor, Divi, Beaver Builder and Bricks Builder * **⚙️ Comprehensive Settings**: Fully configurable options for performance and design = Performance Features = * **Lazy Loading**: Images are loaded only when needed * **WebP Support**: Automatic conversion to modern image formats * **Optimized Database Queries**: Minimal impact on website performance * **CDN Compatible**: Works with all common CDN solutions = Page Builder Compatibility = * **Gutenberg Block**: Native block for the WordPress Block Editor * **Elementor Widget**: Fully integrated widget with live preview * **Divi Module**: Custom module for the Divi Builder * **Beaver Builder Module**: Seamless integration with Beaver Builder * **Bricks Builder Element**: Native Bricks element with all options = Technical Details = * Fully responsive and mobile-optimized * SEO-friendly with structured data * Accessibility compliant (WCAG 2.1) * Translation-ready (i18n) * Compatible with all major themes and page builders * Clean, validated code = Shortcode Usage = `[luxe_gallery id="123"]` **Parameters:** * `id` - The gallery ID (required) * `show_title` - Show gallery title: yes/no (default: no) * `title_tag` - HTML tag for title: h1-h6 (default: h2) * `layout` - Layout style: hero-grid, grid, masonry (default: hero-grid) * `columns` - Number of columns: 2-6 (default: 4, for grid/masonry layouts) * `gap` - Gap between images in pixels (default: 8) * `border_radius` - Border radius in pixels (default: 12) * `show_image_count` - Show photo count on button: yes/no (default from settings) * `lightbox` - Enable lightbox: yes/no (default: yes) * `sharing` - Enable social sharing: yes/no (default: no) * `virtual_tour` - Virtual tour URL (optional) * `class` - Additional CSS classes (optional) **Example with all parameters:** `[luxe_gallery id="123" layout="masonry" columns="3" gap="12" lightbox="yes" sharing="yes"]` == Installation == 1. Upload the plugin via the WordPress admin panel or install it through the plugin directory 2. Activate the plugin through the 'Plugins' menu in WordPress 3. Go to 'Luxe Gallery' > 'Add New' to create your first gallery 4. Configure the plugin settings under 'Luxe Gallery' > 'Settings' 5. Use the shortcode `[luxe_gallery id="ID"]` to display the gallery = Usage with Page Builders = **Gutenberg**: Search for the "Luxe Gallery" block in the Block Editor **Elementor**: Find the "Luxe Gallery" widget in the Elementor sidebar **Divi**: Add the "Luxe Gallery" module from the Divi Builder **Beaver Builder**: Select "Luxe Gallery" from the Content Modules **Bricks Builder**: Use the "Luxe Gallery" element in the Bricks Editor = Manual Installation = 1. Upload the plugin directory to the `/wp-content/plugins/` folder 2. Activate the plugin through the 'Plugins' menu in WordPress 3. Follow the installation steps above == Frequently Asked Questions == = How do I create a new gallery? = 1. Go to 'Luxe Gallery' > 'Add New' 2. Enter a title for your gallery 3. Select 5 hero images for the grid layout 4. Add categories and organize your images 5. Save the gallery and copy the generated shortcode = Does the plugin support WebP images? = Yes, Luxe Gallery automatically converts uploaded images to WebP format for better performance. This can be configured in the plugin settings. = Is the plugin responsive? = Absolutely! Luxe Gallery is developed mobile-first and provides optimal display on all devices, from smartphones to desktop computers. = Can I customize the design? = Yes, the plugin offers comprehensive settings options. Additionally, you can further customize the appearance with CSS. = Does it work with my theme? = Luxe Gallery is designed to be compatible with most WordPress themes. If you encounter issues, please contact support. = Does the plugin work with page builders? = Yes! Luxe Gallery offers native integration for all major page builders: - Gutenberg (WordPress Block Editor) - Elementor - Divi Builder - Beaver Builder - Bricks Builder Each builder has its own custom module/widget with live preview and all settings options. = Which file formats are supported? = The plugin supports all common image formats: JPEG, PNG, GIF, WebP and SVG. = Can I use multiple galleries on one page? = Yes, you can include as many galleries as you like on a page by using multiple shortcodes. = Are there limits to the number of images? = No, there are no technical limits. Performance depends on your hosting and the number of images. == Screenshots == 1. Hero Grid Layout - Attractive 5-image grid as entry point 2. Mobile Slider - Optimized display for mobile devices 3. Category-Based Gallery - Organized image display with navigation 4. Lightbox - Modern lightbox experience 5. Admin Interface - Intuitive drag & drop management 6. Plugin Settings - Comprehensive configuration options == Changelog == = 2.2.2 = * Full view now uses native HTML dialog element — proper focus trapping, Escape key handling, and top-layer rendering * Fixed: Plugin settings (colors, gap, border radius, button text) now correctly applied on the frontend * Fixed: Custom button text setting for "Show all photos" button * Fixed: Hero images now included in lightbox navigation (click hero image → opens lightbox) * Fixed: Critical error on gallery admin list when gallery data stored as array instead of JSON * Fixed: Data loss when saving gallery with only videos/floor plan but no categories * Fixed: Transient key injection in WebP conversion progress handler * Fixed: Feature buttons (Video, Floor Plan, Before/After) now visible on mobile * Fixed: Layout shortcode parameter (grid/masonry) now respected * Fixed: LuxeLightbox and LuxeCompare re-entrant close/destroy crash * Fixed: Gutenberg block TypeError on non-block-editor pages * Fixed: Uninstall now cleans up all meta keys (videos, floor plan, before/after) * Fixed: Transient cache now invalidated when plugin settings change * Improved: Hero images with width/height attributes, srcset/sizes, and fetchpriority for better Core Web Vitals * Improved: Full view focus restoration for accessibility * Improved: Skeleton loading animation made more subtle = 2.0.5 = * Fixed translations not working: bundled .mo now loads via load_textdomain() before WP.org JIT translations can override with incomplete data * "Show all X photos" button now correctly displays in German (and other languages) = 2.0.4 = * Regenerated .pot file with all translatable strings (was outdated from v1.0.1) * Fixed "Show all X photos" button not translatable (string was missing from .pot) * Fixed "photo/photos" plural form not translatable (missing from .pot) * Fixed lightbox strings (Close, Share, Previous/Next) not translatable (missing from .pot) * Completed 100% German (de_DE + de_DE_formal) translations for all 214 strings * Added translations for all page builder modules (Elementor, Divi, Beaver Builder, Bricks) = 2.0.3 = * Fixed mobile slider pagination dots jumping when clicking through slides * Fixed back-to-grid button positioned in center of modal instead of at navigation * Reduced excessive gap between category navigation and first category section * Fixed show_image_count setting still showing count when disabled (default changed to false) * Added German formal (de_DE_formal) translation files * Smooth dot visibility transitions instead of abrupt display:none jumps = 2.0.2 = * Fixed category navigation no longer scrolls sticky with page * Fixed show_image_count setting being ignored when unchecked * Fixed all checkbox settings not saving correctly when unchecked * Fixed German translations not loading (enabled load_plugin_textdomain) * Added German translations for plural photo/photos, settings descriptions, and lightbox strings * Fixed grid images not filling full height (picture element + wrapper height) * Fixed hover removing rounded borders on grid images * Added black border to slider pagination dots for better visibility * Slider pagination now shows max 5 dots with sliding window navigation * Updated settings description to remove outdated PhotoSwipe reference * Regenerated .mo translation file = 2.0.1 = * Fixed critical SyntaxError caused by ES module export statement * Fixed grid image display issues * Fixed button icon alignment * Added proper version bumping for WordPress update detection = 2.0.0 = * **Major Performance Rewrite**: Removed all third-party libraries * Replaced Swiper.js (151KB) with custom CSS scroll-snap slider (~2KB) * Replaced PhotoSwipe (68KB) with custom lightweight lightbox (~4KB) * Removed jQuery dependency — zero external dependencies * Frontend JS reduced from 246KB to 26KB (−89%) * Frontend CSS reduced from 41KB to 20KB (−51%) * HTTP requests reduced from 6 files to 2 files * Optimized PHP: deduplicated WebP logic, reduced per-image overhead * Optimized Icon.png from 1.1MB to 44KB * Uses O(1) associative array for image deduplication instead of in_array() * Single wp_upload_dir() call per render instead of per-image * Custom lightbox features: pinch-to-zoom, swipe nav, wheel zoom, double-click zoom, preloading, Web Share API = 1.1.0 = * WordPress 6.9 compatibility with Gutenberg Block API v3 * Added extended shortcode parameters: show_title, title_tag, layout, columns, gap, border_radius, lightbox, sharing, virtual_tour * Added new layout options: hero-grid, standard grid, and masonry * Added virtual tour button integration * Added comprehensive hooks and filters system for developers * Added Display Defaults settings section (layout, columns, gap, border radius, lightbox, sharing) * Added Branding settings section (button text, colors, accent color) * Added skeleton loading animation for images * Added blur-up image loading effect * Added sticky category navigation in fullscreen view * Added social sharing functionality in lightbox (Web Share API with fallback) * Added deep linking support for lightbox images (shareable URLs) * Added extended keyboard shortcuts (F to open, G to close, Home/End for navigation) * Updated Elementor widget with layout, columns, features, and virtual tour controls * Updated Divi module with layout, columns, lightbox, sharing, and virtual tour options * Updated Beaver Builder module with full feature parity * Improved Bricks Builder integration with extended controls * Fixed Bricks Builder labels (internationalization) * Improved accessibility with focus states * Performance optimizations with CSS custom properties = 1.0.1 = * Updated all original strings to en_US for Polyglots compliance * Synced localization files and builder labels * Prepared release assets for WordPress.org distribution = 1.0.0 = * Initial release * Hero grid layout with 5 configurable images * Category-based gallery organization * Mobile-optimized Swiper slider * PhotoSwipe lightbox integration * Automatic WebP conversion * Comprehensive plugin settings * Drag & drop admin interface * Full internationalization * Performance optimizations == Upgrade Notice == = 1.1.0 = Major update with WordPress 6.9 compatibility, extended shortcode parameters, new layout options, hooks/filters for developers, and UI improvements. = 1.0.1 = Ensures English originals before translation on translate.wordpress.org. = 1.0.0 = Initial release of Luxe Gallery - the most modern gallery plugin for WordPress. == Technical Information == = Minimum Requirements = * WordPress 5.0 or higher * PHP 7.4 or higher * MySQL 5.6 or higher * At least 64MB PHP Memory Limit = Recommended Requirements = * WordPress 6.0 or higher * PHP 8.0 or higher * MySQL 8.0 or higher * 128MB PHP Memory Limit * GD Library or ImageMagick for WebP conversion = Used Libraries = * No external JavaScript libraries — all components are custom-built * Zero dependencies for optimal performance = Support = For support and questions visit: * Website: https://jajasolutions.de * Plugin Support Forum: https://wordpress.org/support/plugin/luxe-gallery (after publication) * Developer: Janni Hares = Contributing = Contributions are welcome! Visit our GitHub repository for more information. = Privacy = Luxe Gallery does not collect any personal data from website visitors. All data is stored locally in your WordPress installation.