{"id":265336,"date":"2025-12-09T13:43:29","date_gmt":"2025-12-09T13:43:29","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/immich-gallery\/"},"modified":"2026-03-02T20:58:30","modified_gmt":"2026-03-02T20:58:30","slug":"gallery-for-immich","status":"publish","type":"plugin","link":"https:\/\/ory.wordpress.org\/plugins\/gallery-for-immich\/","author":23377503,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.6.1","stable_tag":"0.6.1","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Gallery for Immich","header_author":"Sietse Visser","header_description":"Show Immich albums and photos in a WordPress site using shortcodes. Requires Immich server with API access.","assets_banners_color":"","last_updated":"2026-03-02 20:58:30","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/vogon1\/immich-wordpress-plugin","header_author_uri":"https:\/\/github.com\/vogon1","rating":5,"author_block_rating":0,"active_installs":60,"downloads":557,"num_ratings":2,"support_threads":2,"support_threads_resolved":1,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.3.3":{"tag":"0.3.3","author":"sietsevisser","date":"2025-12-09 14:49:33"},"0.4.0":{"tag":"0.4.0","author":"sietsevisser","date":"2025-12-10 18:52:21"},"0.5.0":{"tag":"0.5.0","author":"sietsevisser","date":"2026-02-16 19:08:10"},"0.6.0":{"tag":"0.6.0","author":"sietsevisser","date":"2026-02-16 19:11:53"},"0.6.1":{"tag":"0.6.1","author":"sietsevisser","date":"2026-03-02 20:58:30"}},"upgrade_notice":{"0.3.0":"<p>Improved lightbox experience and enhanced documentation. Recommended update for better usability.<\/p>","0.2.1":"<p>Important security update with enhanced validation and HTTPS enforcement. Update recommended for all users.<\/p>","0.2.0":"<p>Adds chronological photo sorting and improved album organization. Recommended update for better user experience.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3415538,"resolution":"128x128","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":{"gallery-for-immich\/gallery":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"gallery-for-immich\/gallery","version":"0.6.0","title":"Gallery for Immich","category":"media","icon":"format-gallery","description":"Display photos and albums from your Immich server","keywords":["gallery","photos","immich","images"],"textdomain":"gallery-for-immich","attributes":{"mode":{"type":"string","default":"single"},"album":{"type":"string","default":""},"albums":{"type":"array","default":[]},"asset":{"type":"string","default":""},"show":{"type":"array","default":["gallery_name","asset_description"]},"order":{"type":"string","default":""},"size":{"type":"number","default":200},"title_size":{"type":"number","default":16},"description_size":{"type":"number","default":14},"date_size":{"type":"number","default":13},"align":{"type":"string","default":"none"}},"supports":{"html":false},"editorScript":"file:.\/build\/index.js"}},"tagged_versions":["0.3.3","0.4.0","0.5.0","0.6.0","0.6.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Album grid overview with thumbnails","2":"Photo gallery with lightbox","3":"Settings page configuration","4":"Single photo display with EXIF data"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[6133,210,251971,237,205],"plugin_category":[50],"plugin_contributors":[251972],"plugin_business_model":[],"class_list":["post-265336","plugin","type-plugin","status-publish","hentry","plugin_tags-albums","plugin_tags-gallery","plugin_tags-immich","plugin_tags-lightbox","plugin_tags-photos","plugin_category-media","plugin_contributors-sietsevisser","plugin_committers-sietsevisser"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/gallery-for-immich\/assets\/icon-128x128.png?rev=3415538","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Gallery for Immich is a WordPress plugin that seamlessly integrates your self-hosted Immich photo server with your WordPress site. Display beautiful photo galleries and albums using simple shortcodes.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li><strong>Gutenberg Block Editor<\/strong> - Visual block for selecting albums, photos and settings<\/li>\n<li><strong>Shortcode Support<\/strong> - Classic <code>[gallery_for_immich]<\/code> shortcode for any editor<\/li>\n<li>Display list of albums from Immich<\/li>\n<li>Display entire albums from Immich<\/li>\n<li>Beautiful responsive grid layouts<\/li>\n<li>Integrated lightbox with GLightbox<\/li>\n<li>Video playback modes (shared links, proxy via fopen, or ignore videos)<\/li>\n<li>Flexible sorting options (date\/name, ascending\/descending)<\/li>\n<li>Full internationalization support (Dutch, German, French translations)<\/li>\n<li>Configure Immich server URL and API key in the WordPress admin panel<\/li>\n<\/ul>\n\n<p><strong>Perfect for:<\/strong><\/p>\n\n<ul>\n<li>Photography portfolios<\/li>\n<li>Family photo sharing<\/li>\n<li>Event galleries<\/li>\n<li>Travel blogs<\/li>\n<li>Any self-hosted photo management with Immich<\/li>\n<\/ul>\n\n<h3>Usage<\/h3>\n\n<p><strong>Using the Gutenberg Block Editor:<\/strong><\/p>\n\n<p>The easiest way to add an Immich gallery is through the Gutenberg block editor:<\/p>\n\n<ol>\n<li>Add a new block and search for \"Gallery for Immich\"<\/li>\n<li>Select your display mode (all albums, single album, multiple albums, or single photo)<\/li>\n<li>Configure display options using the sidebar controls<\/li>\n<li>Customize thumbnail size and text sizes as needed<\/li>\n<li>The preview shows the shortcode that will be used<\/li>\n<\/ol>\n\n<p><strong>Using Shortcodes:<\/strong><\/p>\n\n<p>You can also use shortcodes directly in your content:<\/p>\n\n<p><strong>Display all albums:<\/strong>\n    [gallery_for_immich]<\/p>\n\n<p><strong>Display specific albums (comma-separated IDs):<\/strong>\n    [gallery_for_immich albums=\"album-id-1,album-id-2\"]<\/p>\n\n<p><strong>Display single album:<\/strong>\n    [gallery_for_immich album=\"album-id\"]<\/p>\n\n<p><strong>Display single photo:<\/strong>\n    [gallery_for_immich asset=\"photo-id\"]<\/p>\n\n<p><strong>Customize display options:<\/strong>\n    [gallery_for_immich show=\"gallery_name,asset_description\"]<\/p>\n\n<p>Available show options (no defaults - must be explicitly specified):\n* <code>gallery_name<\/code> - Show album\/gallery name\n* <code>gallery_description<\/code> - Show album description\n* <code>asset_date<\/code> - Show photo date\n* <code>asset_description<\/code> - Show photo description<\/p>\n\n<p>Note: If the <code>show<\/code> parameter is not specified, only thumbnails are displayed without any text.<\/p>\n\n<p><strong>Customize sizes:<\/strong>\n    [gallery_for_immich size=\"300\" title_size=\"18\" description_size=\"15\" date_size=\"12\"]<\/p>\n\n<p>Size options:\n* <code>size<\/code> - Thumbnail size in pixels (100-500, default: 200)\n* <code>title_size<\/code> - Title font size (10-30, default: 16)\n* <code>description_size<\/code> - Description font size (10-30, default: 14)\n* <code>date_size<\/code> - Date font size (10-30, default: 13)<\/p>\n\n<p><strong>Sort order:<\/strong>\n    [gallery_for_immich order=\"date_desc\"]\n    [gallery_for_immich album=\"album-id\" order=\"description_asc\"]<\/p>\n\n<p>Available order options:\n* <code>date_desc<\/code> - Newest first (default for albums)\n* <code>date_asc<\/code> - Oldest first (default for photos - chronological order)\n* <code>name_asc<\/code> - Alphabetically A-Z (albums only)\n* <code>name_desc<\/code> - Alphabetically Z-A (albums only)\n* <code>description_asc<\/code> - Alphabetically A-Z by description (photos only)\n* <code>description_desc<\/code> - Alphabetically Z-A by description (photos only)<\/p>\n\n<p>Note: Name sorting is only available for albums. Photos can be sorted by date or description.<\/p>\n\n<h3>Privacy &amp; Security<\/h3>\n\n<p>This plugin:\n* Connects to your self-hosted Immich server via API\n* Does not collect or transmit any user data to third parties\n* Requires HTTPS for production security\n* Validates all user input and API parameters\n* Uses WordPress security best practices<\/p>\n\n<p>Your Immich server credentials (URL and API key) are stored in your WordPress database.<\/p>\n\n<h3>Support<\/h3>\n\n<p>For issues, feature requests, or contributions, please visit:\nhttps:\/\/github.com\/vogon1\/immich-wordpress-plugin<\/p>\n\n<h3>Credits<\/h3>\n\n<ul>\n<li>Lightbox powered by GLightbox (https:\/\/github.com\/biati-digital\/glightbox)<\/li>\n<li>Integrates with Immich (https:\/\/immich.app)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install via WordPress admin: Plugins &gt; Add New &gt; Search for \"Gallery for Immich\"<\/li>\n<li>Click \"Install Now\" and then \"Activate\"<\/li>\n<li>Or upload the plugin files to <code>\/wp-content\/plugins\/gallery-for-immich\/<\/code> directory and activate through the 'Plugins' menu<\/li>\n<\/ol>\n\n<p><strong>Configuration:<\/strong><\/p>\n\n<p>After activation, configure your Immich server connection:<\/p>\n\n<p><strong>Step 1: Create an Immich API Key<\/strong><\/p>\n\n<ol>\n<li>Log in to your Immich server with the user account whose photos you want to display<\/li>\n<li>Go to <strong>Account Settings<\/strong> (click your profile picture in the top right)<\/li>\n<li>Navigate to <strong>API Keys<\/strong> tab<\/li>\n<li>Click <strong>New API Key<\/strong><\/li>\n<li>Give it a descriptive name (e.g., \"WordPress Plugin\")<\/li>\n<li>Set the following <strong>minimum required permissions<\/strong>:\n\n<ul>\n<li><code>album.read<\/code> - Required to list and view albums<\/li>\n<li><code>asset.read<\/code> - Required to access photo metadata (EXIF data, descriptions, dates)<\/li>\n<li><code>asset.view<\/code> - Required to retrieve photo thumbnails<\/li>\n<li><code>asset.download<\/code> - Required to retrieve original full-size photos<\/li>\n<li><code>sharedLink.create<\/code> - Required when using video mode 'Shared Link'<\/li>\n<li><code>sharedLink.delete<\/code> - Required when using video mode 'Shared Link'<\/li>\n<\/ul><\/li>\n<li><strong>Important:<\/strong> Only grant read-only access. Never grant write permissions for security reasons.<\/li>\n<li>Click <strong>Create<\/strong> and copy the generated API key<\/li>\n<\/ol>\n\n<p><strong>Step 2: Configure the Plugin in WordPress<\/strong><\/p>\n\n<ol>\n<li>Navigate to Settings &gt; Gallery for Immich in your WordPress admin<\/li>\n<li>Enter your Immich server URL (e.g., https:\/\/immich.example.com)<\/li>\n<li>Paste the API key you created in Step 1<\/li>\n<li>Choose <strong>Video playback<\/strong> mode (shared links, proxy via fopen, or ignore videos)<\/li>\n<li>Save changes<\/li>\n<\/ol>\n\n<p><strong>Video playback modes:<\/strong><\/p>\n\n<ul>\n<li><strong>Shared links (default)<\/strong> - Creates temporary shared links on Immich. Videos stream directly from Immich and links expire automatically.<\/li>\n<li><strong>Proxy via fopen<\/strong> - Streams videos through WordPress. Most elegant solution, but requires <code>fopen<\/code> support on the WordPress server which is not always supported.<\/li>\n<li><strong>Ignore videos<\/strong> - Hides videos in galleries and only shows photos.<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20immich%3F\"><h3>What is Immich?<\/h3><\/dt>\n<dd><p>Immich is a self-hosted photo and video backup solution. Learn more at https:\/\/immich.app<\/p><\/dd>\n<dt id=\"do%20i%20need%20my%20own%20immich%20server%3F\"><h3>Do I need my own Immich server?<\/h3><\/dt>\n<dd><p>Yes, this plugin requires a running Immich server with API access.<\/p><\/dd>\n<dt id=\"how%20do%20i%20find%20my%20album%20or%20photo%20ids%3F\"><h3>How do I find my album or photo IDs?<\/h3><\/dt>\n<dd><p>You can find IDs in your Immich server's URL when viewing albums or photos, or through the Immich API.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20localhost%3F\"><h3>Does this work with localhost?<\/h3><\/dt>\n<dd><p>Yes, for development purposes localhost URLs (http:\/\/localhost or http:\/\/127.0.0.1) are allowed. Production servers must use HTTPS.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20appearance%3F\"><h3>Can I customize the appearance?<\/h3><\/dt>\n<dd><p>Yes, the plugin generates standard HTML with CSS classes. You can override styles in your theme's CSS.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20translated%3F\"><h3>Is the plugin translated?<\/h3><\/dt>\n<dd><p>Yes, the plugin is fully internationalized and includes translations for:\n* Dutch (nl_NL) - Nederlands\n* German (de_DE) - Deutsch\n* French (fr_FR) - Fran\u00e7ais<\/p>\n\n<p>Additional translations can be contributed via .po files in the languages directory.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.6.1<\/h4>\n\n<ul>\n<li>Fix for missing album list.<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<p><em>Release Date - 16 February 2026<\/em><\/p>\n\n<ul>\n<li>New: Video playback modes (shared links, proxy via fopen, ignore videos)<\/li>\n<li>Improved: Video handling for editor\/preview and shared link cleanup<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li><p>Release date 17 December 2025*<\/p><\/li>\n<li><p>New: Support for videos from Immich<\/p><\/li>\n<li>For single asset: define alignment to allow text around the asset<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<p><em>Release Date - 10 December 2025<\/em><\/p>\n\n<ul>\n<li>New: Gutenberg block \"Gallery for Immich\" with visual editor<\/li>\n<li>New: Full Gutenberg block support with all shortcode features<\/li>\n<li>New: Full translation support for Dutch, German, and French<\/li>\n<\/ul>\n\n<h4>0.3.3<\/h4>\n\n<p><em>Release Date - 9 December 2025<\/em><\/p>\n\n<ul>\n<li>WordPress.org compliance improvements<\/li>\n<li>Fixed: Removed direct file access<\/li>\n<li>Fixed: Added translation support for plugin name and description<\/li>\n<li>Updated: License changed to GPLv3 for consistency<\/li>\n<li>Improved: Image proxy now uses query parameters instead of direct PHP files<\/li>\n<li>Improved: glightbox in its own namespace<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<p><em>Release Date - 29 November 2025<\/em><\/p>\n\n<ul>\n<li>Added flexible sorting with order parameter (none, date_asc, date_desc, name_asc, name_desc)<\/li>\n<li>Albums can be sorted by date or name, ascending or descending<\/li>\n<li>Photos can be sorted by date (ascending\/descending) or use Immich's original order<\/li>\n<li>Default sorting: albums newest first (date_desc), photos oldest first (date_asc\/chronological)<\/li>\n<li>Uses standard database terminology (asc\/desc)<\/li>\n<li>WordPress.org compliance: bundled GLightbox locally (no CDN dependencies)<\/li>\n<li>Removed load_plugin_textdomain() - WordPress.org handles translations automatically<\/li>\n<li>Removed debug error_log() calls for production<\/li>\n<li>Full WordPress Plugin Check compliance with zero errors<\/li>\n<li>Ready for WordPress.org plugin directory submission<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<p><em>Release Date - 29 November 2025<\/em><\/p>\n\n<ul>\n<li>WordPress.org compliance: bundled GLightbox locally (no CDN dependencies)<\/li>\n<li>Removed load_plugin_textdomain() - WordPress.org handles translations automatically<\/li>\n<li>Removed debug error_log() calls for production<\/li>\n<li>Full WordPress Plugin Check compliance with zero errors<\/li>\n<li>Ready for WordPress.org plugin directory submission<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<p><em>Release Date - 29 November 2025<\/em><\/p>\n\n<ul>\n<li>Disabled zoom functionality in lightbox (removed confusing zoom icon)<\/li>\n<li>Improved lightbox user experience with cleaner interface<\/li>\n<li>Code hardening for enhanced security<\/li>\n<li>Enhanced documentation with API key setup instructions<\/li>\n<li>Added security and privacy information in README<\/li>\n<li>Added access control documentation<\/li>\n<li>Updated installation instructions with detailed API key permissions<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<p><em>Release Date - 29 November 2025<\/em><\/p>\n\n<ul>\n<li>Enhanced security: UUID validation for all IDs<\/li>\n<li>Added HTTPS enforcement for production<\/li>\n<li>Improved input sanitization and validation<\/li>\n<li>Added timeout settings for API requests<\/li>\n<li>SSL verification enabled<\/li>\n<li>Better error handling and logging<\/li>\n<li>Security headers for image proxies<\/li>\n<li>Sanitization callbacks for settings<\/li>\n<li>Capability checks for admin access<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<p><em>Release Date - 27 September 2025<\/em><\/p>\n\n<ul>\n<li>Added photo sorting by dateTimeOriginal (chronological order)<\/li>\n<li>Added album sorting by endDate (newest first)<\/li>\n<li>Improved photo descriptions in lightbox<\/li>\n<li>Added EXIF date display<\/li>\n<li>Enhanced grid layouts with CSS Grid<\/li>\n<li>Added hover effects and animations<\/li>\n<li>Portrait photo support with object-fit<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<p><em>Release Date - September 2025<\/em><\/p>\n\n<ul>\n<li>Initial release<\/li>\n<li>Basic album and photo display<\/li>\n<li>GLightbox integration<\/li>\n<li>Shortcode support<\/li>\n<li>Internationalization support<\/li>\n<li>Dutch translation included<\/li>\n<\/ul>","raw_excerpt":"Display your Immich photo albums and galleries in WordPress using simple shortcodes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/265336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=265336"}],"author":[{"embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sietsevisser"}],"wp:attachment":[{"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=265336"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=265336"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=265336"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=265336"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=265336"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=265336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}