=== WP Save For Later ===
Contributors: gooloode
Donate link: https://www.gooloo.de/
Tags: save for later, bookmarks, reading list, favorites, paid memberships pro, rest api
Requires at least: 6.0
Tested up to: 7.1.2
Stable tag: 1.0.0
Requires PHP: 8.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Ultra-performantes, sicheres und modernes Save For Later & Bookmark-System mit Custom Lists, Drag & Drop Sortierung, REST API und Paid Memberships Pro Integration. 100% kostenfrei & Open Source. Erstellt mithilfe von Google AI Studio.

== Description ==

**WP Save For Later** ist die moderne, vollständig kostenfreie Bookmark- und Leselisten-Lösung für WordPress-Websites, Blogs und Membership-Portale (entwickelt von gooloo.de, erstellt mithilfe von Google AI Studio). Es gibt keine künstlichen Einschränkungen und keinerlei kostenpflichtige "Pro/Commerce"-Stufen – das Plugin ist zu 100 % frei unter der Open Source GPLv2 Lizenz.

Nutzer können mit einem Klick Beiträge in frei erstellbaren, personalisierten Listen organisieren, per Drag & Drop sortieren und jederzeit wieder aufrufen – komplett ohne Seiten-Reloads.

Entwickelt nach strikten **WordPress Core & VIP Coding Standards**, optimiert für PHP 8.0 bis 8.4 und nahtlos kompatibel mit allen gängigen Page Buildern (Gutenberg, Elementor, Divi, Bricks, Beaver Builder und Oxygen).

### Kernfunktionen im Überblick:

* **Unbegrenzter Speicher:** Nutzer können unbegrenzt viele individuelle Listen anlegen (z. B. "Rezept-Ideen", "Später lesen", "Projekt 2026") und unbegrenzt viele Beiträge speichern.
* **100 % Zero-Reload UX:** Modernes Vanilla JavaScript (Fetch API / ES6+) steuert alle Aktionen über geschützte WordPress REST API Endpunkte – kein jQuery-Ballast!
* **Optimierte Custom DB-Architektur:** Spezielle Tabellen mit dedizierten Indexen für maximale Skalierbarkeit auch bei Millionen von Bookmarks.
* **Intelligente Gäste-Führung:** Zeigt unangemeldeten Besuchern einen dezenten, konfigurierbaren Hinweis mit Direktlink zur Anmeldung.
* **Paid Memberships Pro (PMP) Integration:** Schränke die Bookmark-Funktion exklusiv auf bestimmte Mitgliedschaftsstufen (Membership Levels) ein.
* **Vollständiges Frontend-Dashboard:** Erlaube deinen Besuchern über den Shortcode `[save_for_later_dashboard]`, Listen zu verwalten, umzubenennen, zu löschen und gespeicherte Beiträge per Drag & Drop neu anzuordnen.
* **Flexible Platzierung:** Wähle im Admin-Dashboard zwischen automatischer Platzierung oberhalb/unterhalb des Inhalts, unterhalb des Titels oder manueller Shortcode-Einbindung (`[save_for_later]`).
* **Granulare Post-Type Kontrolle:** Aktiviere oder deaktiviere die Funktion für jeden registrierten Custom Post Type (CPT) mit einem Klick.
* **Modernes & Barrierefreies Design:** Vollständig responsive mit CSS-Variablen für einfaches Theme-Styling und ARIA-Attributen für Screenreader.

== Installation ==

1. Lade den Plugin-Ordner `wp-save-for-later-pro` in das Verzeichnis `/wp-content/plugins/` hoch oder installiere die `.zip`-Datei direkt über **Plugins > Installieren > Plugin hochladen** im WordPress-Dashboard.
2. Aktiviere das Plugin über das Menü **Plugins** in WordPress.
3. Die beiden optimierten Datenbanktabellen (`sfl_lists` und `sfl_items`) werden bei der Aktivierung automatisch angelegt.
4. Navigiere zu **Save For Later** in deiner WordPress-Adminleiste, um Post-Types, Platzierung, Hinweistexte und die Paid Memberships Pro Berechtigungen einzustellen.
5. (Optional) Erstelle eine Seite namens "Meine Leselisten" und füge den Shortcode `[save_for_later_dashboard]` ein.

== Frequently Asked Questions ==

= Ist das Plugin mit Page Buildern wie Elementor, Divi oder Bricks kompatibel? =
Ja, zu 100%! WP Save For Later Pro verwendet sichere Hook- und Filter-Logiken mit Überprüfung von `is_main_query()`, `in_the_loop()` und Builder-Modus-Erkennung (z. B. Elementor Editor Mode), um Endlosschleifen oder doppelte Ausgaben zuverlässig zu verhindern.

= Kann ich das Plugin ohne Paid Memberships Pro nutzen? =
Selbstverständlich. Wenn Paid Memberships Pro nicht installiert ist, steht die Funktion standardmäßig allen registrierten und angemeldeten Benutzern zur Verfügung.

= Welche Datenbanktabellen werden erstellt? =
Das Plugin erstellt zwei performante Tabellen mit UTF-8mb4-Kollation und Indexierung:
1. `wp_sfl_lists` – Speichert die Listen je Benutzer.
2. `wp_sfl_items` – Speichert die verknüpften Beitrags-IDs mit Reihenfolge (`menu_order`) und Hinzufügedatum.

= Gibt es ein Limit für die Anzahl gespeicherter Beiträge? =
Nein. Die Architektur ist für unbegrenzte Listen und Beiträge ausgelegt. Dank eigener DB-Tabellen wird die `wp_postmeta`- oder `wp_usermeta`-Tabelle nicht aufgebläht.

= Benötigt das Plugin jQuery? =
Nein! Das Frontend verwendet modernes Vanilla JavaScript (ES6+ mit nativem Fetch API). Dadurch lädt deine Seite spürbar schneller und profitiert von optimalen Core Web Vitals.

= Wie kann ich das Aussehen an mein Theme anpassen? =
Das Plugin nutzt CSS Custom Properties (Variablen wie `--sfl-primary`, `--sfl-border`, `--sfl-radius`). Du kannst diese Werte einfach im Customizer deines Themes oder in deiner `style.css` überschreiben.

== Screenshots ==

1. **Frontend Save-Button & Listen-Dropdown:** Elegantes Dropdown zur Auswahl und Sofort-Erstellung von Listen.
2. **Frontend Dashboard [save_for_later_dashboard]:** Drag & Drop Neuanordnung von Beiträgen und Listen-Verwaltung.
3. **Admin Einstellungen:** Post-Type Selektion, Platzierungsoptionen und Live-Statistiken.
4. **Paid Memberships Pro Integration:** Stufenauswahl für exklusive Member-Berechtigungen.

== Changelog ==

= 1.0.0 =
* Initialer Release von WP Save For Later Pro.
* Vollständige Kompatibilität mit WordPress 7.1.2+ und PHP 8.0 - 8.4.
* Dedizierte Tabellenarchitektur (`sfl_lists`, `sfl_items`) mit optimierten Indizes.
* REST API Endpunkte (`/sfl/v1/`) mit Nonce- und Capability-Prüfungen.
* Admin-Ajax Fallback für restriktive Serverumgebungen.
* Vanilla JS Frontend Engine mit barrierefreien ARIA-Attributen.
* Nahtlose Paid Memberships Pro (PMP) Berechtigungs- und Level-Prüfungen.
* Shortcode `[save_for_later]` und `[save_for_later_dashboard]`.
* Unterstützung aller Custom Post Types mit flexibler Platzierung.

== Upgrade Notice ==

= 1.0.0 =
Erste offizielle Version. Produktionsbereit für den Einsatz in Hochleistungs-Websites.
