=== Pith Media website assistent ===
Contributors: pithmedia
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.3
Stable tag: 0.2.3
License: GPLv2 or later

Concepten en goedgekeurde contentwijzigingen via de Pith Media contentdienst.

== Installatie ==
1. Upload de map pith-website-assistent naar wp-content/plugins en activeer de plugin in WordPress.
2. Open Instellingen > Pith Assistent en maak een verbindingssleutel aan.
3. Open je klantomgeving van de Pith Media website assistent. Voeg je domein toe bij Mijn websites en plak de eenmalig zichtbare sleutel bij WordPress koppelen.
4. Bevestig met het wachtwoord van je klantomgeving en kies Sleutel opslaan en controleren. De status Plugin verbonden bevestigt dat de plugin je sleutel accepteert.
5. Kies zelf de toegestane WhatsApp-nummers. WhatsApp-opdrachten starten pas nadat ook je pakket en diensttoegang zijn geactiveerd. Test daarna een concept en het tijdelijke voorbeeld voordat je publiceert.

Voor CRM-klanten verzorgt de Pith Media-beheerder de koppeling via de bestaande CRM-websiteinstellingen. Deel de pluginsleutel niet via e-mail of WhatsApp.

Gebruik HTTPS, PHP 8.3 of hoger en InnoDB voor de WordPress-tabellen. De plugin opent geen algemene beheertoegang. Deel sleutels nooit in WhatsApp of met de AI. Intrekken of vernieuwen van een sleutel blokkeert de oude sleutel en bestaande voorbeeldlinks.

== Gebruik ==
Blogs worden als gewone WordPress-berichten gepubliceerd. Tekstwijzigingen zijn beperkt tot Gutenberg-alinea's en koppen, Divi 4 Text-modules, Divi 5 Text-modules en statische Elementor-kop- en teksteditorwidgets. Dynamische, globale, gedeelde en niet-ondersteunde modules worden overgeslagen. De plugin verandert geen layouts of templates. Divi of Elementor moet op de website geïnstalleerd zijn om voorbeelden met de eigen vormgeving te renderen. Elementor 4.3.6 is getest in een tijdelijke WordPress-omgeving; controleer andere versies en extensies op een testsite.

Voorbeeldlinks zijn 72 uur geldig en toegankelijk voor iedereen die de geheime link bezit. Ze geven geen recht om te publiceren. Concepten en afbeeldingen blijven tot publicatie buiten openbare berichten, media, REST-lijsten en feeds. Cache-/CDN-configuratie moet requests met pith_preview en pith_token volledig overslaan. De plugin verstuurt no-store/noindex/no-referrer headers; een proxy die die negeert is niet veilig. Houd server accesslogs met volledige preview-querystrings beperkt toegankelijk en verwijder deze tokens uit analyticslogs.

Voorbeelden blokkeren externe scripts, analytics-beacons, externe afbeeldingen, iframes en formulieren met een Content Security Policy. Daardoor kunnen externe widgets of sommige interactieve onderdelen afwijken van de live pagina. Lokale themescripts en Google Fonts blijven toegestaan voor de vormgeving. De plugin kan niet garanderen dat onbekende, lokaal gehoste analyticscode geen gegevens verzamelt: sluit previewrequests ook in die analytics- en cacheconfiguratie uit.

Publiceren vereist de exacte goedgekeurde conceptdigest. Een gewijzigde live pagina veroorzaakt een conflict; de wijziging wordt niet stilzwijgend overschreven. Voor herstel opent een WordPress-beheerder Instellingen > Pith Assistent en kiest het gepubliceerde concept. Met "Vorige tekst herstellen" wordt een bestaande pagina teruggezet; met "Terugzetten naar concept" wordt een nieuw blog weer ongepubliceerd. De beheerder bevestigt de actie. Herstel controleert opnieuw dat de live versie niet later is veranderd en overschrijft geen nieuwer klantwerk.

Na 30 dagen worden ongepubliceerde concepten door WP-Cron gearchiveerd. De inhoud blijft bewaard; de plugin verwijdert bij deactivatie geen klantcontent. Plan servercron voor betrouwbare WP-Cron op websites met weinig verkeer.

== Gegevens ==
De plugin slaat concepten, voorlopige afbeeldingen, opdrachtidentiteiten en eerdere tekstversies op in eigen database-tabellen. Alleen een hash van de verbindingssleutel wordt opgeslagen. De contentdienst ontvangt uitsluitend de geselecteerde openbare content en opdrachtresultaten; hosting- en WordPress-beheerderswachtwoorden worden niet gedeeld.
