Heckgalerie

Description

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 actually contain a slider or a lightbox. Grids and logo bars are CSS only, so 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 resized versions WordPress generates for the web. 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.
  • 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

Blocks

This plugin provides 1 block.

  • Heckgalerie Eine gespeicherte Galerie, Logoleiste oder einen Slider einbinden.

Installation

  1. Upload the plugin and activate it.
  2. Open the “Galleries” menu and click “New gallery”.
  3. Choose a template, add images from the media library, save.
  4. 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_html filter or by supplying your own partial through heckgalerie_template_file.

What happens to my NextGEN galleries during the migration?

Nothing is deleted or moved. The image files stay in wp-content/gallery where they are and are registered as WordPress attachments, which is what gives them srcset and 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.

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

There are no reviews for this plugin.

Contributors & Developers

“Heckgalerie” is open source software. The following people have contributed to this plugin.

Contributors

Translate “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.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 %i identifier placeholder of wpdb::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.