Maelezo
Heckgalerie keeps your images where WordPress already keeps them. A gallery here is a list of ordinary media attachments, not a second media library with its own database tables, its own upload folder and its own backup problem. That has three consequences you can check: srcset and image sizes come from WordPress, alt texts stay the ones you typed in the media library, and the images appear in the WordPress image sitemap without a plugin bridge.
Two things follow from that decision:
- Uninstalling loses nothing. Your images are attachments. Delete Heckgalerie and they are still there, still in the media library, still in every post that links to them.
- Front-end weight stays measurable. All front-end files together are under 15 KB gzipped, and JavaScript is only enqueued on pages that contain a slider or a gallery with the lightbox switched on. Logo bars and the album overview are CSS only, and pages without a gallery load nothing at all.
Two more parts deal with the image files themselves:
- EXIF and GPS data are stripped from the JPEG files WordPress serves for your uploads: from the resized versions, and for photos too small to be resized, from a cleaned copy that WordPress uses in place of the original. Cameras and phones write coordinates, serial numbers and timestamps into image files; a gallery of an event can publish the location of a private address without anyone noticing. Your uploaded original stays untouched. PNG and WebP files are served unchanged.
- A migration assistant for NextGEN Gallery reads the existing NextGEN tables, registers the image files as WordPress attachments without moving or copying them, and rewrites the NextGEN shortcodes in your posts. The old version of each post is kept as a revision, and nothing in NextGEN is deleted.
Heckgalerie is part of the Hafenstudios fleet. It works on its own and cooperates with the other fleet plugins once they are active.
Templates
Galleries: grid, masonry, justified and album.
Logo bars: logo grid and single row.
Sliders: crossfade.
The lightbox is included with every template. Block and shortcode use the same renderer, so both produce identical markup.
Albums: several galleries, one page
An album bundles other galleries. Each one gets a tile with a cover image, its name and the image count; one click opens it on the same page, a second click goes back. No subpages, no JavaScript.
Capture data in the lightbox
The lightbox can show a discreet line with camera, aperture, exposure time, ISO, focal length and capture date, for photography sites where that is content. The setting is off by default.
Coordinates are never displayed. Heckgalerie reads exactly those six fields, so a location cannot reach the output even if another plugin writes one into the image data.
Accessibility
The lightbox is a native <dialog> element with full keyboard operation. Every automatic movement stops as soon as the operating system reports “reduce motion”. The admin screens work without JavaScript: the builder is an enhancement, and the shortcode is shown as plain text either way.
Privacy
No tracking pixel, no cookie, no request to another server, in the admin area or on the front end. There is nothing about this plugin to declare in a privacy policy.
Screenshots



Bloku
Kijalizi hiki kinawezesha bloku 1.
- Heckgalerie Embed a saved gallery, logo bar or slider.
Installation
- Upload the plugin and activate it.
- Open the “Galleries” menu and click “New gallery”.
- Choose a template, add images from the media library, save.
- Paste the shortcode shown on any page, or use the “Heckgalerie” block.
FAQ
-
Do I lose my images if I uninstall Heckgalerie?
-
No. Your images are ordinary attachments in the media library and stay there. On uninstall Heckgalerie removes something only if you explicitly switch that on, and even then only the gallery definitions, never the images.
-
Does it work with the Classic Editor?
-
Yes. Shortcode and block produce the same markup.
-
Can I adapt the markup to my theme?
-
Yes, either through the
heckgalerie_template_htmlfilter or by supplying your own partial throughheckgalerie_template_file. -
What happens to my NextGEN galleries during the migration?
-
Nothing is deleted or moved. The image files stay in
wp-content/gallerywhere they are and are registered as WordPress attachments, which is what gives themsrcsetand image sizes. Alt texts and descriptions are carried over. Your NextGEN data and files remain untouched, so you can go back at any time. -
Does Heckgalerie show where my photos were taken?
-
No, under no circumstances. The capture data line reads six fields (camera, aperture, exposure time, ISO, focal length, date). Coordinates are not among them and therefore cannot appear by accident.
-
Is the original photo still on the server?
-
Yes. Heckgalerie never changes the file you uploaded, just as WordPress keeps the original next to a scaled-down version. Your pages use the cleaned files, but the original keeps its own address in the uploads folder, and anyone who knows that address can open it. If the location of a photo must not become public, remove the location data before uploading. For photos that are too small to be scaled down, the cleaned copy needs about as much disk space as the original. If you regenerate thumbnails after removing Heckgalerie, WordPress can serve the original again.
-
I still have an older Heckgalerie shortcode with URL lines in it.
-
It keeps working unchanged. The shortcode syntax of versions 0.1 and 0.2 is rendered exactly as before.
Reviews
Hakuna hakiki za programu-jalizi hii.
Wachangiaji & Wasanidi
“Heckgalerie” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Heckgalerie” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.6
- Fix: photos smaller than the size at which WordPress scales images down (2560 pixels by default) were served with their EXIF and GPS data, for example in the lightbox. Heckgalerie now serves a cleaned copy of these photos, without the metadata and without the preview images that phones attach behind the photo; the uploaded original stays untouched. Regenerating thumbnails keeps the copy and the original attached to the image, also when the setting is switched off later. Photos uploaded before this version are cleaned when their thumbnails are regenerated, for example with
wp media regenerate. That applies to Heckgalerie galleries and to images you insert afterwards. A full-size image that is already embedded in a post or page keeps pointing to the original file with its metadata until you insert it again. - Fix: the image sizes WordPress generates are cleaned as well, also on servers that keep image metadata when resizing.
- Fix: cleaned images are written to a temporary file first and only then put in place, so a full disk can no longer leave a truncated image behind.
- Fix: removing the metadata no longer drops the Adobe color marker that CMYK JPEG files need for correct colors.
- Fix: a gallery in the trash or saved as a draft no longer appears on the website. Shortcodes, blocks and albums that point to it stay empty.
- Fix: the block description in the block inserter is English now and can be translated.
- Change: the gallery builder only shows the options that have an effect on the chosen template. Logo bars, for example, no longer offer the lightbox or capture data.
- Change: when an image has an alt text in the media library, the builder shows it in the alt text field. “Alt text missing” only appears when there is none.
- Change: the description now names exactly which templates load JavaScript.
- Change: the help text of the EXIF setting now says which files are cleaned and that PNG and WebP files stay unchanged.
- Bundles version 1.4.4 of the shared Hafenstudios library. When several Hafenstudios plugins are active, each of them now registers its copy of the library; the newest copy is loaded and takes anything it lacks from the other copies. An error during start-up no longer takes the site down.
1.2.5
- Change: the description no longer compares the plugin to other gallery plugins. It describes what the plugin does.
1.2.4
- Fix: the plugin URI in the header pointed to a page that does not exist yet.
1.2.3
- Fix: the EXIF stripper now asks WordPress whether a file is writable instead of asking PHP directly.
- Fix: the uninstall routine no longer suppresses filters when it collects galleries, so other plugins can still see the query.
1.2.2
- Change: the plugin now runs on PHP 8.0 and newer. The previous requirement of 8.1 was higher than the code actually needs.
- Change: the NextGEN assistant no longer estimates how many kilobytes you save. The number was a fixed guess, not a measurement.
1.2.1
- Fixed: the gallery builder loaded the plugin stylesheet under a handle that the bundled shared library had already taken, so the live preview was unstyled.
- All labels in the gallery builder are translatable now; a few were hard-coded in JavaScript before.
- The bundled shared library now ships only the classes this plugin actually calls.
1.2.0
- First release in the WordPress plugin directory.
- Source strings are English; translations are handled through translate.wordpress.org.
- Database table names in the NextGEN migration now use the
%iidentifier placeholder ofwpdb::prepare().
1.1.3
- Packages up to 1.1.2 contained internal development files. This version ships program files only.
- Fixed: the NextGEN migration assistant could read files outside the WordPress installation through a crafted path. Paths leading out of the installation directory are now rejected.
- Hardened: structured data output is escaped more strictly, so an image alt text cannot terminate the block early.
- Fixed: the migration assistant reported “shortcode converted” even when the post could not be saved. It now says that it did not work.
1.1.1
- Fixed: a PATCH on the gallery endpoint now changes only the fields sent with it. Previously missing fields were reset to their defaults, so updating just the images could discard the chosen layout. PUT still replaces the whole gallery on purpose.
1.1.0
- New: albums. A gallery can bundle other galleries, each as a tile with cover image, name and image count. No JavaScript, no subpages.
- New: capture data in the lightbox (off by default). Camera, aperture, exposure time, ISO, focal length, date, never coordinates.
- Improved: the builder now shows preview images of saved galleries.
- Unchanged: all galleries from 1.0 and the complete old shortcode syntax render character for character as before.
1.0.0
- First version: galleries (grid, masonry, justified), logo bars (logo grid, single row), slider (crossfade).
- Lightbox as a native dialog element.
- NextGEN migration assistant with shortcode rewriting.
- EXIF and GPS removal from the web-sized versions.
- Block and shortcode through one shared renderer.
- Compatible with the shortcode syntax of versions 0.1 and 0.2.
