{"id":352359,"date":"2026-08-27T15:45:48","date_gmt":"2026-08-27T15:45:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/atelier\/"},"modified":"2026-08-30T09:45:25","modified_gmt":"2026-08-30T09:45:25","slug":"lichtbild-gallery","status":"publish","type":"plugin","link":"https:\/\/es-ec.wordpress.org\/plugins\/lichtbild-gallery\/","author":23547440,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"26.8.27","stable_tag":"26.8.27","tested":"7.1","requires":"6.0","requires_php":"8.1","requires_plugins":null,"header_name":"Lichtbild Gallery","header_author":"tstone-1","header_description":"Responsive galleries for WordPress. Reads existing Envira Gallery data in place, so galleries keep working without migration or a licence.","assets_banners_color":"cdcac5","last_updated":"2026-08-30 09:45:25","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/tstone-1\/lichtbild-gallery","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":126,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"26.8.25":{"tag":"26.8.25","author":"tstone1","date":"2026-08-27 15:45:20","revision":3669173},"26.8.26":{"tag":"26.8.26","author":"tstone1","date":"2026-08-28 17:53:39","revision":3670765},"26.8.27":{"tag":"26.8.27","author":"tstone1","date":"2026-08-30 09:45:25","revision":3672297}},"upgrade_notice":{"26.8.22":"<p>Read this if you set Custom CSS on a gallery: the field is gone, so those rules no longer\napply. Nothing is deleted. Move the CSS to Appearance &gt; Customize &gt; Additional CSS, unchanged\n- the element ids are the same. Do it before you next save that gallery, which drops the newer copy.<\/p>","26.8.21":"<p>Important for new installs: a gallery&#039;s own permalink rendered an empty page. Sites migrated\nfrom Envira Gallery were never affected.<\/p>","26.8.20":"<p>Worth taking if you use the tag filter: the selected tag&#039;s label was invisible against its own\nbackground. Sites with the filter switched off are unaffected.<\/p>","26.8.19":"<p>Recommended for any site using a page cache: gallery pagination and filtering kept working only\nfor as long as the cached page&#039;s nonce was valid.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3669191,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3669191,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3669191,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3672297,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3672297,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250},"banner.svg":{"filename":"banner.svg","revision":3672297,"resolution":false,"location":"assets","locale":false}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3672298,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"Lichtbild Gallery\",\"description\":\"Try Lichtbild Gallery in a temporary WordPress site.\",\"author\":\"tstone1\",\"categories\":[\"Gallery\"]},\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"login\":true,\"landingPage\":\"\\\/wp-admin\\\/post-new.php?post_type=lichtbild_gallery\",\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"lichtbild-gallery\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":{"lichtbild\/gallery":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"lichtbild\/gallery","title":"Lichtbild Gallery","category":"media","icon":"format-gallery","description":"Makes a new Lichtbild gallery, or places one that already exists.","keywords":["gallery","images","photos","envira"],"textdomain":"lichtbild-gallery","attributes":{"id":{"type":"number","default":0}},"supports":{"html":false,"multiple":true,"reusable":true},"editorScript":"lichtbild-blocks","editorStyle":"lichtbild-blocks"},"lichtbild\/album":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"lichtbild\/album","title":"Lichtbild Album","category":"media","icon":"format-image","description":"Places an existing Lichtbild album in the post.","keywords":["album","galleries","envira"],"textdomain":"lichtbild-gallery","attributes":{"id":{"type":"number","default":0}},"supports":{"html":false,"multiple":true,"reusable":true},"editorScript":"lichtbild-blocks","editorStyle":"lichtbild-blocks"}},"tagged_versions":["26.8.25","26.8.26","26.8.27"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3669173,"resolution":"1","location":"assets","locale":"","width":1600,"height":1479},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3669173,"resolution":"2","location":"assets","locale":"","width":1600,"height":645},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3672297,"resolution":"3","location":"assets","locale":"","width":1600,"height":1111}},"screenshots":{"1":"Portrait and landscape photographs in even rows. Nothing is cropped to a square and no row\nends ragged.","2":"Filtering by tag. The buttons cover every tag in the gallery, including ones whose\nphotographs are on a later page, and this gallery has a lot of them.","3":"The full-screen viewer, with the camera settings WordPress read when the image was uploaded."}},"plugin_section":[],"plugin_tags":[210,604,237,649,2248],"plugin_category":[50],"plugin_contributors":[277915],"plugin_business_model":[],"class_list":["post-352359","plugin","type-plugin","status-publish","hentry","plugin_tags-gallery","plugin_tags-image-gallery","plugin_tags-lightbox","plugin_tags-photo-gallery","plugin_tags-photography","plugin_category-media","plugin_contributors-tstone1","plugin_committers-tstone1"],"banners":{"banner":"https:\/\/ps.w.org\/lichtbild-gallery\/assets\/banner-772x250.png?rev=3672297","banner_2x":"https:\/\/ps.w.org\/lichtbild-gallery\/assets\/banner-1544x500.png?rev=3672297","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/lichtbild-gallery\/assets\/icon.svg?rev=3669191","icon":"https:\/\/ps.w.org\/lichtbild-gallery\/assets\/icon.svg?rev=3669191","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/lichtbild-gallery\/assets\/screenshot-1.jpg?rev=3669173","caption":"Portrait and landscape photographs in even rows. Nothing is cropped to a square and no row\nends ragged."},{"src":"https:\/\/ps.w.org\/lichtbild-gallery\/assets\/screenshot-2.png?rev=3669173","caption":"Filtering by tag. The buttons cover every tag in the gallery, including ones whose\nphotographs are on a later page, and this gallery has a lot of them."},{"src":"https:\/\/ps.w.org\/lichtbild-gallery\/assets\/screenshot-3.jpg?rev=3672297","caption":"The full-screen viewer, with the camera settings WordPress read when the image was uploaded."}],"raw_content":"<!--section=description-->\n<p>Lichtbild lays your photographs out in even rows that fill the width of the page. Nothing is\ncropped to a square and no row ends ragged, so a set of mixed portrait and landscape shots reads\nas one composition rather than a grid fighting its contents. Click any photograph and it opens\nfull screen, with the next and previous one a swipe or an arrow key away.<\/p>\n\n<p>Making a gallery takes one screen. Add images from your media library, drag them into the order\nyou want, and edit each one's title, caption and alt text in the same place. Then put the gallery\ninto a post with the block, or paste a shortcode.<\/p>\n\n<p>It is quick on the visitor's side because of what it does not send: photographs are served at the\nsize the page actually shows rather than at full resolution, and the full-screen viewer is\ndownloaded only when somebody opens an image, so a page of galleries that nobody clicks costs no\nJavaScript at all.<\/p>\n\n<p>Everything is included. There is no pro version, no upgrade prompt, no licence key and no account\nto create. The plugin makes no requests to any server other than your own, so nothing about your\nsite, your visitors or your photographs is sent anywhere.<\/p>\n\n<p>If you are moving from Envira Gallery, Lichtbild reads your existing galleries where they are, so\nyou can compare the two by switching a plugin on and off. The migration that follows keeps every\nURL and shortcode working and can be undone from the same screen.<\/p>\n\n<h4>What you get<\/h4>\n\n<ul>\n<li><strong>Even rows that fill the page.<\/strong> Every photograph keeps its own proportions and the row settles\nat a shared height. Fixed columns are available if you prefer them.<\/li>\n<li><strong>Images sized for the page.<\/strong> The grid uses WordPress's own smaller versions with a <code>srcset<\/code>,\nnot the full-size original, so a page of thumbnails is a fraction of the weight.<\/li>\n<li><strong>A full-screen viewer<\/strong> with swipe, arrow keys and zoom, loaded on the first click rather than\non every page.<\/li>\n<li><strong>Filter by tag.<\/strong> Tags belong to the photograph, so one applied in a gallery follows that image\neverywhere it appears. The filter searches the whole gallery, not only the page on screen.<\/li>\n<li><strong>Pagination<\/strong>, with the full-screen viewer still able to run through every page.<\/li>\n<li><strong>Camera settings under the photograph<\/strong> \u2014 camera, aperture, shutter speed, focal length, ISO\nand capture time \u2014 taken from what WordPress already read when the image was uploaded. You\nchoose which of them to show, gallery by gallery.<\/li>\n<li><strong>Links to a single photograph.<\/strong> A shared link opens the image it names, whatever page or\nfilter the person following it lands on.<\/li>\n<li><strong>Albums<\/strong>, which collect galleries behind a cover image and get their own page.<\/li>\n<li><strong>Blocks for galleries and albums<\/strong>, plus shortcodes for classic editors and page builders.<\/li>\n<li><strong>Per-gallery options<\/strong> for share buttons, a download link, right-click protection, row height\nand spacing, which image size to use, and whether titles sit under each photograph, over it, or\nnowhere.<\/li>\n<li><strong>No jumping as the page loads.<\/strong> Every image carries its dimensions, so the layout is settled\nbefore the photographs arrive.<\/li>\n<\/ul>\n\n<h4>Migrating from Envira Gallery<\/h4>\n\n<p>Lichtbild can read Envira Gallery's records where they lie, without copying or converting\nanything, so you can compare the two by toggling a plugin. When you are ready, a migration on\nthe settings screen moves the galleries onto Lichtbild's own storage in place: post IDs never\nchange, so existing shortcodes keep working, and existing permalinks keep resolving. Envira's\noriginal records are left untouched, and the migration can be rolled back from the same screen.<\/p>\n\n<p>Lichtbild is <strong>not affiliated with, endorsed by, or connected to Envira Gallery or Awesome\nMotive<\/strong>. \"Envira Gallery\" is their product and their trademark. Lichtbild contains no Envira\ncode; it names Envira only to describe what it can read and what it replaces.<\/p>\n\n<p>On a site with no Envira history, Lichtbild serves its galleries from <code>\/gallery\/<\/code>, <code>\/album\/<\/code> and\n    \/gallery-tag\/. A site migrating from Envira keeps Envira's existing paths, so no indexed URL\nmoves. Both are overridable through the <code>lichtbild_url_slugs<\/code> filter.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In <strong>Plugins \u2192 Add New<\/strong>, search for <em>Lichtbild Gallery<\/em>, install it and activate it. Or\nupload the plugin folder to <code>wp-content\/plugins\/lichtbild-gallery<\/code> and activate it there.<\/li>\n<li>Galleries appear under <strong>Lichtbild<\/strong> in the admin menu. Create one, add images from your\nmedia library, and drag them into order.<\/li>\n<li>Put it in a post with the <strong>Lichtbild Gallery<\/strong> block, or with <code>[lichtbild-gallery id=\"123\"]<\/code>\nin the classic editor.<\/li>\n<\/ol>\n\n<p>If Envira Gallery is installed, Lichtbild stays out of its way: the takeover setting under\n<strong>Settings \u2192 Lichtbild<\/strong> defaults to handling <code>[envira-gallery]<\/code> only while Envira is inactive.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20any%20of%20it%20paid%2C%20and%20does%20it%20need%20an%20account%3F\"><h3>Is any of it paid, and does it need an account?<\/h3><\/dt>\n<dd><p>No. Every feature described here is in this plugin. There is no pro version, no licence key, no\nsign-up and no upgrade prompt.<\/p><\/dd>\n<dt id=\"does%20it%20send%20anything%20anywhere%3F\"><h3>Does it send anything anywhere?<\/h3><\/dt>\n<dd><p>No. The plugin talks only to your own site. It contacts no external service, loads no fonts or\nscripts from anywhere else, and collects nothing about your visitors.<\/p><\/dd>\n<dt id=\"can%20i%20try%20it%20without%20installing%20it%3F\"><h3>Can I try it without installing it?<\/h3><\/dt>\n<dd><p>Yes. <a href=\"https:\/\/playground.wordpress.net\/?blueprint-url=https:\/\/raw.githubusercontent.com\/tstone-1\/lichtbild-gallery\/main\/.wordpress-org\/blueprints\/blueprint.json\">Open the live demo<\/a>\nto run a throwaway WordPress in your browser with the plugin already installed. Nothing touches\nyour own site. The media library starts empty, so upload a few photographs of your own.<\/p><\/dd>\n<dt id=\"does%20it%20need%20a%20page%20builder%20or%20a%20build%20step%3F\"><h3>Does it need a page builder or a build step?<\/h3><\/dt>\n<dd><p>No. There is no bundler and no npm dependency at runtime. PhotoSwipe is bundled.<\/p><\/dd>\n<dt id=\"is%20the%20source%20of%20the%20bundled%20javascript%20included%3F\"><h3>Is the source of the bundled JavaScript included?<\/h3><\/dt>\n<dd><p>Yes. Nothing here is generated: every file the plugin ships is the source. PhotoSwipe 5.4.4 is\nvendored under <code>assets\/vendor\/photoswipe\/<\/code> with its MIT licence, and the unminified <code>.esm.js<\/code>\nsources sit beside the <code>.esm.min.js<\/code> files they were minified from.<\/p><\/dd>\n<dt id=\"will%20migrating%20from%20envira%20change%20my%20urls%3F\"><h3>Will migrating from Envira change my URLs?<\/h3><\/dt>\n<dd><p>No. The migration renames post types in place and pins the URL paths to the ones already\npublished, so permalinks and shortcodes keep resolving to the same galleries.<\/p><\/dd>\n<dt id=\"can%20i%20go%20back%3F\"><h3>Can I go back?<\/h3><\/dt>\n<dd><p>Yes. The migration leaves Envira's own records untouched and can be rolled back from the\nsettings screen, which restores the original post types rather than reconstructing them.<\/p><\/dd>\n<dt id=\"where%20are%20per-image%20tags%20stored%3F\"><h3>Where are per-image tags stored?<\/h3><\/dt>\n<dd><p>On the attachment, as a taxonomy, so tagging an image affects it everywhere it appears rather\nthan only in one gallery.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>26.8.27<\/h4>\n\n<ul>\n<li>Galleries can be created directly from the Gallery block by choosing images from the Media\nLibrary. The block stores the new gallery's ID, so it remains reusable and editable elsewhere.<\/li>\n<li>A per-gallery option can take current titles, captions and alt text from the Media Library,\nwhile keeping the gallery's own values as fallbacks.<\/li>\n<li>Fixed-column galleries use fewer columns on narrow screens, and the plugin listing now offers\na no-install live demo.<\/li>\n<\/ul>\n\n<h4>26.8.26<\/h4>\n\n<ul>\n<li>Fixed: on a new installation, gallery, album and tag permalinks returned 404 until the\npermalink settings were saved again. The rules are now rebuilt when the plugin is activated.<\/li>\n<\/ul>\n\n<h4>26.8.25<\/h4>\n\n<ul>\n<li>Fixed: deleting the plugin and installing it again could leave migrated galleries in the\ndatabase but invisible. They are found again automatically.<\/li>\n<li>Fixed: an album could be made to store a gallery its editor had no permission to open, and the\ngallery and album pickers listed other authors' unpublished items.<\/li>\n<li>Fixed: the message shown when a gallery page fails to load was empty, and a failed lightbox\nload stopped every later image from opening until the page was reloaded.<\/li>\n<li>Fixed: tag filter buttons now report which one is selected to screen readers.<\/li>\n<li>The migration now warns when a setting it copies alongside the galleries cannot be written.<\/li>\n<\/ul>\n\n<h4>26.8.24<\/h4>\n\n<ul>\n<li>Renamed to Lichtbild Gallery. The former name was too close to plugins already in this\ndirectory. Nothing a visitor sees changed: gallery, album and tag URLs stay where they are and\nthe <code>[envira-gallery]<\/code> shortcode keeps working.<\/li>\n<li>Galleries, albums and image tags now live under Lichtbild's own post types and meta keys.<\/li>\n<\/ul>\n\n<h4>26.8.23<\/h4>\n\n<ul>\n<li>Envira Gallery's <code>[envira-gallery]<\/code> and <code>[envira-album]<\/code> shortcodes are now taken over only on\na site that has Envira records. A site that never used Envira registers only Lichtbild's own two\nshortcodes; a site continuing an Envira installation is unaffected.<\/li>\n<li>The <code>lichtbild_config_sanitize<\/code> filter no longer receives the raw form submission as a second\nargument. Callbacks get the sanitised settings only.<\/li>\n<\/ul>\n\n<h4>26.8.22<\/h4>\n\n<ul>\n<li>Per-gallery Custom CSS has been removed, in line with the Plugin Directory guideline against\nstoring and printing arbitrary CSS entered through a plugin's own interface. Style your\ngalleries in Appearance &gt; Customize &gt; Additional CSS instead: a gallery is <code>#lichtbild-&lt;id&gt;<\/code> and\nits wrapper <code>#lichtbild-&lt;id&gt;-wrap<\/code>, so existing rules keep working once moved.<\/li>\n<li>The upgrade itself deletes no CSS, and <code>tools\/export-custom-css.py<\/code> in the source repository\nprints what is still stored, ready to paste. Move it before you next save an affected gallery:\nsaving rewrites that gallery's settings record, which is where the most recent version of the\nCSS lives on a site migrated from Envira Gallery.<\/li>\n<li>Translations now come from translate.wordpress.org rather than a catalogue bundled in the\nplugin.<\/li>\n<\/ul>\n\n<h4>26.8.21<\/h4>\n\n<ul>\n<li>A gallery created on a site that never had Envira Gallery now renders on its own permalink.\nIt answered with the page title and none of its photographs, because the setting that governs\nthis fell back to a value only a site migrating from Envira has.<\/li>\n<\/ul>\n\n<h4>26.8.20<\/h4>\n\n<ul>\n<li>The currently selected button in the tag filter is legible again. It had been painted in the\nsame colour as its own background, so the applied tag could not be read. Themes can now set\nthe pair through the <code>--lichtbild-tag-fill<\/code> and <code>--lichtbild-tag-label<\/code> custom properties.<\/li>\n<\/ul>\n\n<h4>26.8.19<\/h4>\n\n<ul>\n<li>Pagination, tag filtering and the lightbox no longer stop working on sites that use full-page\ncaching, where the nonce a logged-out visitor holds is routinely older than the page.<\/li>\n<li>Deep links to a single image that were shared before the plugin was renamed resolve again.<\/li>\n<\/ul>\n\n<h4>26.8.18<\/h4>\n\n<ul>\n<li>Generic URL paths by default for new installs; sites with an Envira history keep the paths\nthey already publish, recorded once rather than re-derived.<\/li>\n<li>Bundled translations are loaded explicitly, so they apply on WordPress 6.x as well as 7.<\/li>\n<li>Fixed converted custom CSS targeting a gallery's wrapper, which produced a selector that\nmatched no element.<\/li>\n<li>A failed pagination request now says so instead of silently keeping the previous page.<\/li>\n<\/ul>\n\n<h4>26.8.15<\/h4>\n\n<ul>\n<li>Galleries and albums are centred in the content column again.<\/li>\n<\/ul>","raw_excerpt":"Photo galleries that look composed and load quickly. Free, with no account, no tracking and nothing held back for a paid tier.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es-ec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/352359","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-ec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es-ec.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es-ec.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=352359"}],"author":[{"embeddable":true,"href":"https:\/\/es-ec.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tstone1"}],"wp:attachment":[{"href":"https:\/\/es-ec.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=352359"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es-ec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=352359"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es-ec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=352359"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es-ec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=352359"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es-ec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=352359"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es-ec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=352359"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}