Documentatie · Systeemvereisten

WordPress-vereisten

Introductie

ADP Car Market Hub is een native WordPress-plugin. Het bevat geen eigen CMS, page builder of front-end framework — in plaats daarvan vertrouwt het op standaard WordPress-mechanismen (custom post types, taxonomieën, de media library, REST API, WP-Cron, capabilities en nonces).

Dit document beschrijft alles wat ADP Car Market Hub verwacht van de WordPress-installatie waarop het draait: ondersteunde WordPress-versies, vereiste beheerdersrechten, permalink-gedrag, gebruik van de media library, cron-afhankelijkheid en bekende compatibiliteitsoverwegingen.

Wanneer dit document te gebruiken

Gebruik dit document wanneer u:

  • Moet bevestigen dat een bestaande WordPress-site de plugin kan hosten.
  • Gebruikersrollen en capabilities configureert voor een dealergroep.
  • Permalink-, media- of caching-instellingen plant voor een nieuwe site.
  • De compatibiliteit van plugins controleert voordat u extra plugins naast ADP Car Market Hub installeert.

Overzicht

ADP Car Market Hub integreert als volgt met WordPress:

  • Registreert een custom post type as24ci_car met een eigen capability map (as24ci_car / as24ci_cars) en 15 voertuigtaxonomieën.
  • Registreert een aangepaste capability manage_as24_imports en een "AS24 Editor"-rol voor gedelegeerd beheer; beheerders behouden altijd volledige toegang.
  • Slaat voertuigafbeeldingen op als standaard WordPress-bijlagen in de media library.
  • Voegt een beheerpagina toe (het "ADP Car Market Hub"-menu) met meerdere tabbladen (Settings, Automation, Mapping, AI Assistant, Health, Tools, etc.).
  • Gebruikt WP-Cron voor geplande imports en stelt een met een token beveiligd REST-endpoint beschikbaar op /as24ci/v1/cron-import voor externe triggers.
  • Voegt shortcodes toe (voertuigarchief, vergelijken, favorieten, etc.) en template-overrides onder templates/ zodat thema's de front-end kunnen aanpassen.
  • Leest de templates van het actieve thema en de standaard single-{post-type}.php / archive-{post-type}.php-hiërarchie.

Vereisten

WordPress-versie

  • Minimum: WordPress 6.2 (Requires at least: 6.2 in de plugin-header en readme.txt).
  • Getest tot: WordPress 6.9 (Tested up to: 6.9 in readme.txt).
  • Aanbevolen: Draai altijd de nieuwste stabiele WordPress-versie op een ondersteunde branch en houd automatische WordPress-beveiligingsupdates ingeschakeld.

Multisite

De plugin is gebouwd en getest voor single-site WordPress-installaties. Netwerkactivatie over een Multisite is geen gedocumenteerde use case; installeer en activeer de plugin in plaats daarvan op individuele sites.

Beheerdersrechten

Er zijn twee verschillende permissielagen van toepassing:

  • Installatie en globale configuratie vereisen manage_options (d.w.z. een Administrator). De plugin gebruikt current_user_can( 'manage_options' ) om capability-migraties en gevaarlijke tools te beveiligen.
  • Dagelijks plugin-beheer is beveiligd met de aangepaste capability manage_as24_imports. Bij activatie verleent de plugin deze capability (samen met de volledige as24ci_car / as24ci_cars CPT-capabilities) aan de Administrator-rol en aan de speciale "AS24 Editor"-rol die het aanmaakt. De standaard WordPress "Editor"-rol ontvangt deze capabilities bewust niet.
  • Alle admin POST-acties, AJAX-handlers en dashboard-widgets controleren de capability opnieuw en verifiëren een WordPress-nonce. Beveiligde sites (aangepaste rollen, role-management plugins, beperkte admin-policies) moeten daarom manage_as24_imports toewijzen aan elke gebruiker die imports moet kunnen uitvoeren of plugin-instellingen moet kunnen wijzigen.
  • Pretty permalinks moeten ingeschakeld zijn. Elke instelling anders dan "Plain" (Eenvoudig) is prima (Jaar, maand en dag, Jaar en maand, Berichtnaam, Aangepaste structuur).
  • Het custom post type as24ci_car is geregistreerd met rewrite rules. Bezoek na het activeren van de plugin of het wijzigen van de slug-gerelateerde opties eenmalig Instellingen → Permalinks en klik op Wijzigingen opslaan om de rewrite rules te flushen.
  • Het met een token beveiligde REST-endpoint /as24ci/v1/cron-import is ook geregistreerd via de standaard WordPress REST API en werkt zodra de REST API zelf bereikbaar is.

Media library

  • Voertuigafbeeldingen worden geïmporteerd als standaard WordPress-bijlagen en opgeslagen in wp-content/uploads/ onder de normale jaar/maand-structuur.
  • De plugin respecteert de WordPress-instellingen voor afbeeldingsverwerking: miniatuurgroottes, tussenliggende groottes, afbeeldingseditor (GD of Imagick) en uploadpaden.
  • Optionele WebP-conversie maakt gebruik van dezelfde afbeeldingsbibliotheek (GD of Imagick) die voor WordPress is geconfigureerd.
  • Een Max images per vehicle-instelling beperkt hoeveel bijlagen er per auto worden aangemaakt. De plugin ontdubbelt afbeeldingen op basis van de bron-URL, zodat herhaalde imports geen duplicaten veroorzaken.
  • Het verwijderen van een voertuig via de plugin (of via een Volledige Synchronisatie) verwijdert ook de bijbehorende bijlagen om de media library netjes te houden.
  • Hotlink-preventie, CDN-offload-plugins (bijv. uploads verplaatsen naar S3) en afbeeldingsoptimaliseerders zijn compatibel, zolang ze inhaken op de standaard WordPress-bijlage-levenscyclus.

Cron-afhankelijkheid

  • Geplande imports zijn afhankelijk van WP-Cron. De plugin registreert een extra interval (elke 6 uur) en een configureerbaar aangepast interval (minimaal 15 minuten) bovenop de standaardwaarden van WordPress.
  • Sites met weinig of onvoorspelbaar verkeer moeten de standaard cron bij pagina-laadtijd uitschakelen en WP-Cron triggeren via een echte OS-cron, of het met een token beveiligde REST-endpoint /as24ci/v1/cron-import aanroepen vanuit een externe planner.
  • Een interne importvergrendeling (transient, 40 minuten TTL) voorkomt dat twee cron-runs elkaar overlappen. Dit maakt externe triggers "elke 5 minuten" veilig.
  • Andere op cron gebaseerde plugins (Action Scheduler, WooCommerce, back-up plugins) kunnen probleemloos naast elkaar bestaan; de plugin gebruikt zijn eigen specifieke hook-namen onder het as24ci_-prefix.

Overwegingen voor plugin-compatibiliteit

  • SEO-plugins: De AI Assistant schrijft meta-titels en meta-beschrijvingen in de formaten die worden verwacht door Yoast SEO en Rank Math.
  • Caching-plugins: Pagina-caches zijn compatibel. Sluit de WordPress-beheerpagina's en de /as24ci/v1/cron-import REST-route uit van caching. Object-caches (Redis, Memcached) worden ondersteund via de standaard WordPress cache-API.
  • Beveiligingsplugins / WAF's: Sta uitgaande HTTPS-verbindingen naar AutoScout24 toe (en naar het beheerde Google Gemini-endpoint wanneer AI-functies zijn ingeschakeld) en blokkeer geen POST-verzoeken naar de beheerpagina's of het REST-endpoint van de plugin. Het cron-token moet in het verzoek worden opgenomen zoals gedocumenteerd in het tabblad Import & Limits.
  • Page builders / block-thema's: Pagina's voor individuele voertuigen en archiefpagina's worden gerenderd via standaard WordPress-templates en shortcodes, dus elk thema — klassiek of op blokken gebaseerd — dat de template-hiërarchie respecteert, zal werken.
  • Vertaalplugins: De plugin is volledig geïnternationaliseerd onder het adp-car-market-hub-textdomain (languages/). Vertaalplugins die werken op standaard WordPress-strings functioneren zoals verwacht.

Aanbevolen productie-installatie

  • Nieuwste stabiele WordPress-versie met automatische minor-updates ingeschakeld.
  • Pretty permalinks ingesteld op Berichtnaam of Aangepaste structuur.
  • Beheerdersaccount speciaal voor plugin-onderhoud, plus een of meer "AS24 Editor"-gebruikers voor het dagelijkse werk.
  • Een echte cron op OS-niveau die wp-cron.php (of het REST-cron-endpoint) elke 5–15 minuten triggert, met DISABLE_WP_CRON ingesteld op true.
  • Een thema met uitstekende ondersteuning voor custom post type templates, of een child-thema dat de templates van de plugin naar behoefte overschrijft.
  • Object-cache (Redis of Memcached) op drukke sites om beheerpagina's die statistieken of leadgegevens verzamelen te versnellen.

Operationele opmerkingen

  • Flush de rewrite rules opnieuw (Instellingen → Permalinks → Opslaan) na elke plugin-update die de URL-structuur wijzigt of na migratie tussen omgevingen.
  • De plugin schrijft alleen naar zijn eigen optiesleutels (as24ci_*), zijn eigen aangepaste tabellen, de standaard WordPress posts/postmeta/term-tabellen voor as24ci_car, en naar de WordPress media library. Het verwijderen van de plugin via uninstall.php schoont de eigen gegevens op.
  • De aangepaste "AS24 Editor"-rol en manage_as24_imports-capability worden beheerd via Plugin::ensure_roles_and_caps() bij activatie en bij upgrades van capability-versies; beheerders die role-management plugins gebruiken, moeten deze niet verwijderen zolang de plugin actief is.
  • De front-end output respecteert het actieve thema. Om voertuigtemplates diepgaand aan te passen, kopieert u bestanden uit de map templates/ van de plugin naar uw child-thema.

Probleemoplossing

  • 404 op voertuigarchief of individuele pagina's: Bezoek Instellingen → Permalinks en klik op Opslaan. Controleer of pretty permalinks niet op "Plain" (Eenvoudig) staan.
  • Beheermenu niet zichtbaar voor een niet-beheerder: Controleer of de rol van de gebruiker de capability manage_as24_imports heeft.
  • Importknoppen retourneren "permission denied" of nonce-fouten: Herlaad de beheerpagina (nonces verlopen na 24 uur) en controleer of de gebruiker beschikt over manage_as24_imports.
  • Geplande imports starten nooit: Controleer of WP-Cron bereikbaar is, of schakel over naar een externe cron-trigger (wp-cron.php of het REST-endpoint met het geconfigureerde token).
  • Afbeeldingen ontbreken in de media library: Controleer de instelling Max images per vehicle, de vrije schijfruimte en de status van de afbeeldingswachtrij in het tabblad Import & Limits.
  • REST-endpoint retourneert 401: Zorg ervoor dat het verzoek het geconfigureerde cron-token bevat en dat er geen beveiligingsplugin is die query- of headerparameters stript.

Gerelateerde documenten