Title: HeartApproval
Author: genij91
Published: <strong>July 30, 2026</strong>
Last modified: July 30, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/heartapproval.svg)

# HeartApproval

 By [genij91](https://profiles.wordpress.org/genij91/)

[Download](https://downloads.wordpress.org/plugin/heartapproval.1.4.1.zip)

 * [Details](https://wordpress.org/plugins/heartapproval/#description)
 * [Reviews](https://wordpress.org/plugins/heartapproval/#reviews)
 * [Development](https://wordpress.org/plugins/heartapproval/#developers)

 [Support](https://wordpress.org/support/plugin/heartapproval/)

## Description

HeartApproval adds a complete client photo proofing workflow to WordPress. Create
a gallery, upload your images, and send your client a private access link. Clients
can review the gallery on desktop or mobile, mark their favorite images, and leave
precise comments directly on individual photos.

When the selection is complete, the client can finalize the gallery to prevent further
changes. You can then export the selected images as a ZIP archive or download the
selection data as CSV.

#### A simple workflow for photographers and clients

 1. Create and configure a client gallery in the WordPress admin area.
 2. Upload images from the Media Library or your computer.
 3. Share the gallery using its private, token-protected link.
 4. Let the client select favorites and add per-image feedback.
 5. Finalize the approved selection and export the results.

#### Key features

 * WordPress-native gallery management.
 * Private gallery links protected by individual access tokens.
 * Responsive client galleries with configurable grid or masonry layouts.
 * Full-screen PhotoSwipe lightbox with navigation, zoom, and touch gestures.
 * Favorite selection directly in the gallery and lightbox.
 * Comments attached to individual images.
 * Final approval that locks the completed selection.
 * ZIP export of selected images and CSV export of selection data.
 * Configurable gallery layout, spacing, thumbnail quality, and finalization texts.
 * Locally bundled lightbox assets with no external CDN dependency.

HeartApproval is designed for photographers, designers, agencies, and other visual
professionals who need a focused approval process without sending clients to a separate
proofing platform.

## Screenshots

[⌊Responsive client gallery with favorite selection and final approval.⌉⌊Responsive
client gallery with favorite selection and final approval.⌉[

Responsive client gallery with favorite selection and final approval.

[⌊Full-screen image review with navigation, zoom, and favorite controls.⌉⌊Full-screen
image review with navigation, zoom, and favorite controls.⌉[

Full-screen image review with navigation, zoom, and favorite controls.

[⌊Per-image comments for clear client feedback and retouching requests.⌉⌊Per-image
comments for clear client feedback and retouching requests.⌉[

Per-image comments for clear client feedback and retouching requests.

[⌊WordPress gallery editor with client access settings and image management.⌉⌊WordPress
gallery editor with client access settings and image management.⌉[

WordPress gallery editor with client access settings and image management.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

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

Contributors

 *   [ genij91 ](https://profiles.wordpress.org/genij91/)

[Translate “HeartApproval” into your language.](https://translate.wordpress.org/projects/wp-plugins/heartapproval)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/heartapproval/), check
out the [SVN repository](https://plugins.svn.wordpress.org/heartapproval/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/heartapproval/) 
by [RSS](https://plugins.trac.wordpress.org/log/heartapproval/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.4.1

 * Fix: Selected hearts in the PhotoSwipe lightbox are shown in red.

#### 1.4.0

 * Fix: Harden REST argument validation/sanitization.
 * Fix: Replace legacy finalize option keys with hearli_ prefixed keys (with migration).
 * Fix: Remove inline admin styles in favor of admin stylesheet classes.

#### 1.3.1

 * Fix: WP.org compliance updates (prefixing, REST token permission checks, REST
   namespace update).
 * Fix: i18n cleanup (removed load_plugin_textdomain, no manual language switch).
 * Change: Remove plugin directory icons from plugin ZIP; update .distignore exclusions.
 * Change: PhotoSwipe vendor files updated to stable release + MIT license notices.

#### 1.3.0

 * Fix: WP.org compliance updates (plugin naming/slug and cleanup).
 * Fix: PhotoSwipe/Lightbox scripts loaded correctly (no console module errors).
 * Fix: Persist selection and comments across reload.
 * Fix: i18n – follow WordPress system language; removed manual language switch;
   English default with German translations.
 * Security: Hardened escaping and nonce checks in admin/front-end.

#### 1.2.0

 * Feature: Kommentar-Funktion pro Bild in der Proofing-Galerie eingeführt.
 * Fix: Stabilisierung der PhotoSwipe-Lightbox (kein JS-Abbruch mehr bei fehlenden
   UI-Elementen).
 * Fix: Auswahl-Status (Herz/Favorit) bleibt nach Seiten-Reload erhalten.
 * Improvement: Initiale State-Synchronisation aus dem DOM reduziert UI-Flackern
   beim Laden.
 * Improvement: Robustere Verarbeitung von REST-Statusdaten (selected/comment) ohne
   unbeabsichtigtes Zurücksetzen.

#### 1.1.5

 * Improvement: Plugin-Icon für die WordPress-Pluginliste ergänzt (assets/icon-128
   ×128.png, assets/icon-256×256.png).
 * Improvement: WordPress-Kompatibilitäts-Metadaten (Tested up to / Requires / Requires
   PHP) für Update-Anzeige ergänzt.

#### 1.1.4

 * Change: Plugin-Beschreibung aktualisiert (sichtbar in der WordPress-Pluginliste).
 * Change: Dokumentations-Link ergänzt (https://gross-macht.de/heartapproval-dokumentation/).

#### 1.1.3

 * Change: Third-Party-Nachweise für gebündelte PhotoSwipe-Assets ergänzt.
 * Improvement: Lizenz-/Notice-Dateien werden im Plugin-Paket mitgeliefert (THIRD-
   PARTY-NOTICES, PhotoSwipe LICENSE).

#### 1.1.2

 * Fix: Touch-Swipe-Navigation in der Lightbox (Mobile) funktioniert wieder zuverlässig.
 * Fix: Lightbox überdeckt auf mobilen Geräten den kompletten Bildschirm; Hintergrund/
   Seite darunter ist nicht mehr sichtbar bzw. scrollbar.
 * Fix: Mobile UI-Positionierung/Visibility der Lightbox-Steuerelemente (Safe-Area/
   Z-Index/Overlay).

#### 1.1.1

 * Fix: Lightbox-UI verbessert: Dateiname/Caption wird unten mittig unter dem Bild
   angezeigt.
 * Feature: Lightbox zeigt oben links einen Bildzähler (z. B. “1 von 20”).
 * Fix: Navigation in der Lightbox: “Zurück” wird beim ersten Bild ausgeblendet,“
   Weiter” beim letzten Bild (bei deaktiviertem Loop).
 * Fix: Auswahl-Heart in der Lightbox synchronisiert den Status beim ersten Öffnen
   korrekt (kein Weiß-Zustand trotz Auswahl).

#### 1.1.0

 * Fix: Entfernt externe CDN-Abhängigkeit (cdnjs.cloudflare.com) für die Lightbox.
   Assets werden lokal aus dem Plugin geladen.
 * Change: Lightbox von Fancybox auf PhotoSwipe umgestellt (gebündelte lokale Ressourcen).
 * Fix: Auswahl-Heart in der Lightbox aktualisiert sofort nach Klick (kein Bildwechsel
   mehr nötig).
 * Improvement: UI/Styles gegen Theme-Overrides gehärtet (CSS-Variable für Heart-
   Aktivfarbe).

#### 1.0.4

 * Fix/Change: Fancybox wird standardmäßig lokal aus dem Plugin geladen (keine CDN-
   Requests zu cdnjs.cloudflare.com mehr).
 * Feature: Option unter „Einstellungen  Diagnose & Info“ hinzugefügt, um Fancybox
   auf Wunsch explizit wieder über CDN zu laden (Default: AUS = lokal).

#### 1.0.3

 * Change: Nicht benötigten Lizenz-/Plan-Block aus den Einstellungen entfernt.

#### 1.0.2

 * Fix: Abschlussgalerie-Upload zeigt den Fortschritt korrekt mit nur einem Prozentzeichen(
   z. B. “100%” statt “100%%”).

#### 1.0.1

 * Fix: Heart-Icon (Bildauswahl) im Grid wird auch bei Theme-Button-Styles zuverlässig
   angezeigt (Padding/Line-Height/Font-Size Reset + SVG-Fill abgesichert).

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.4.1**
 *  Last updated **3 weeks ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [client gallery](https://wordpress.org/plugins/tags/client-gallery/)[gallery](https://wordpress.org/plugins/tags/gallery/)
   [photo proofing](https://wordpress.org/plugins/tags/photo-proofing/)
 *  [Advanced View](https://wordpress.org/plugins/heartapproval/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/heartapproval/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/heartapproval/reviews/)

## Contributors

 *   [ genij91 ](https://profiles.wordpress.org/genij91/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/heartapproval/)