A WordPress plugin that uses the modern and accessible dialog HTML element to display images and videos.
Author: | Billy Basdras (profile at wordpress.org) |
WordPress version required: | 6.6.0 |
WordPress version tested: | 6.7.1 |
Plugin version: | 1.3.0 |
Added to WordPress repository: | 10-10-2024 |
Last updated: | 12-12-2024 |
Rating, %: | 100 |
Rated by: | 1 |
Plugin URI: | https://gallery.5cript.com/ |
Total downloads: | 456 |
Click to start download |
Welcome to Gallery 5cript—the WordPress gallery plugin built from scratch in 2024, designed for the websites of today! ????
✨ 1. Modern Dialog: Built-in dialog element for seamless interactions, accessibility, and SEO optimization.
???? 2. Optimized Images: Uses the picture element with custom WordPress sizes, delivering the right image for every device.
???? 3. Cutting-edge Front-End: Developed with TailwindCSS and TypeScript for reliable, modern and responsive interface.
???? 4. Video & Captions: Supports video galleries and captions, adding more depth to your content.
???? 5. Clean Database: Uses custom database tables, keeping your posts and meta tables clutter-free.
???? 6. API: Manage galleries programmatically with RESTful endpoints.
Gallery 5cript—Built for the modern web! ✨ Download for free!
LIVE DEMO: Link Text
API Endpoints
Gallery 5cript exposes the following API endpoints to manage galleries programmatically:
-
List all galleries
- Endpoint:
/5cript-gallery/v1/galleries
- Method: GET
- Description: Retrieves all gallery IDs.
- Endpoint:
-
Get a specific gallery
- Endpoint:
/5cript-gallery/v1/gallery/{id}
- Method: GET
- Description: Retrieves details of a gallery by its ID.
- Parameters:
id
(integer): The ID of the gallery.
- Endpoint:
-
Get all images in a gallery
- Endpoint:
/5cript-gallery/v1/gallery/{id}/images
- Method: GET
- Description: Retrieves all images for a specific gallery by ID.
- Parameters:
id
(integer): The ID of the gallery.
- Endpoint:
To enable or disable the API, visit the plugin settings in the WordPress admin area. By default, the API is enabled.
Why Dialog
The dialog element was introduced in 2014 and has had full cross-browser support since 2022. While there are many plugins that offer similar functionality, none (to my knowledge at the time of writing) utilize the dialog element. This is likely due to concerns about backward compatibility, which could pose issues for the end users of those plugins.
But why use dialog, you ask?
- It's automatically centered.
- It appears on top of everything else using the 'top-layer', not just z-index.
- It auto-focuses, providing better accessibility for users.
- It comes with an out-of-the-box Esc key function to close the modal.
- We've enhanced the dialog with additional accessibility features, including ARIA labels and best practices.<h3>More perks</h3>
- We're using the picture element with various WordPress image sizes, allowing the browser to choose the most appropriate one to download.
- All front-end JavaScript is strongly typed with TypeScript.
- It supports YouTube videos.
- Captions are supported as well.
- You can add your own custom CSS.
- It has its own database tables, so it doesn't add extra load to the already heavily used post and meta tables. This also ensures that you can delete it without leaving any residue.
- New: API<h3>Demo</h3>You can find a demo here: [Link Text](https://gallery.5cript.com/)<h3>3rd Party Services</h3>This plugin rely on youtube embed functionality to serve videos. That is only if you choose to display videos in your galleries.
A link to that service: https://www.youtube.com/
Policy about embed videos: https://support.google.com/youtube/search?q=policy+embed+video&oq=policy+embde+video&spell=1#zippy=%2Care-you-allowed-to-embed-youtube-videos
Generic terms and conditions of Youtube: https://www.youtube.com/static?template=terms
Even though the youtube-nocookie.com is used, aka “Enable privacy-enhanced mode”, it is necessary that websites that making use of this plugin to require users to accept cookies that allow for third-party use.
Screenshots
FAQ
ChangeLog