Documentatie · Beheerdersreferentie

Beheerdersreferentie voor de Setup Wizard

Dit document is een referentie voor de First Setup Wizard (eerste installatiewizard) van de ADP Car Market Hub-plugin. De wizard is een enterprise-achtige onboarding-flow van zes stappen die een WordPress-beheerder helpt om de meest voorkomende configuratietaken direct na de eerste activering te voltooien.

De wizard is optioneel. Elke optie die deze biedt, kan ook handmatig worden geconfigureerd via de reguliere beheerderstabs die elders in de Beheerdersreferentie zijn gedocumenteerd. Zie Eerste installatie voor de aanbevolen end-to-end installatievolgorde.

Wanneer u dit document moet gebruiken

Lees dit als u het volgende wilt doen:

  • Begrijpen wanneer en hoe de welkomstmelding voor de Setup Wizard verschijnt.
  • Weten hoe u de wizard start, overslaat of hervat.
  • Het verschil begrijpen tussen Demo setup en Live AutoScout24 setup.
  • Weten welke opties de wizard schrijft en welke opties deze nooit stilzwijgend overschrijft.
  • Het beveiligingsmodel begrijpen (beveiliging met capabilities en nonces, verwerking van het Client Secret).
  • De wizard documenteren voor een interne overdracht of een onboarding-procedure voor klanten.

Overzicht

De wizard is geregistreerd als een verborgen beheerderspagina op:

wp-admin/admin.php?page=as24ci-setup-wizard

Deze staat niet in het Car Market Hub-submenu. Toegangspunten zijn:

  • De admin-melding Welcome to ADP Car Market Hub die verschijnt na de eerste activering.
  • De link Run Setup Wizard bovenaan Car Market Hub → Dashboard.
  • De kaart Setup Wizard bovenaan Car Market Hub → Tools.

De wizard stuurt na activering nooit automatisch door. De admin-melding is informatief en biedt twee knoppen: Start Setup Wizard en Skip for now.

Vereisten of randvoorwaarden

  • Een WordPress-gebruiker met de beheersmogelijkheid (Plugin::CAP_MANAGE) van de plugin.
  • Een tijdstempel van de eerste activering, vastgelegd door de activeringshook van de plugin. Bestaande installaties die upgraden zonder heractivering zien de welkomstmelding niet, maar kunnen de wizard nog steeds handmatig openen via het Dashboard of het tabblad Tools.
  • Voor Live setup: AutoScout24 API-inloggegevens (Client ID, Client Secret, Seller ID, API Base URL).
  • Voor Demo setup: er zijn geen API-inloggegevens vereist.

Wizard-flow

Stap 1 — Modus

Kies tussen twee installatiepaden:

  • Demo setup — installeert een geselecteerde set demovoertuigen, past demovriendelijke standaardwaarden toe en vinkt de analytics-schakelaar vooraf aan, zodat de pagina's Dashboard en Analytics gegevens hebben om weer te geven. Demo setup is een expliciete reset- en seed-bewerking: deze activeert het bestaande Demo_Data::install()-pad bij voltooiing.
  • Live AutoScout24 setup — slaat echte AutoScout24-inloggegevens en de geselecteerde pagina's en functieschakelaars op, maar installeert geen demogegevens en vinkt analytics niet vooraf aan.

Stap 1 legt ook het land van de dealer vast (DE, CH, AT, Other), de standaard valuta (EUR, CHF) en de taal van de beheerder (standaardtaal van de site plus een kleine expliciete allowlist).

Stap 2 — Dealerprofiel

Legt de basisidentiteit van de dealer vast die door andere delen van de plugin wordt gebruikt: naam, straat, postcode, plaats, land, telefoon, e-mail, website en een media-ID voor het logo. Alle velden zijn optioneel. Ingediende waarden worden opgeschoond; leeggelaten velden behouden de bestaande opgeslagen waarde (er wordt geen enkel veld stilzwijgend gewist).

Stap 3 — AutoScout24

Legt de AutoScout24 API-verbinding vast: Client ID, Client Secret, Seller ID en API Base URL. In de Demo-modus toont deze stap een "overslaan"-tip; in de Live-modus worden inloggegevens aanbevolen.

Het veld Client Secret wordt opzettelijk leeg weergegeven. De wizard schrijft het opgeslagen geheim nooit terug in de HTML van de beheerder. Als u het formulier indient terwijl het veld leeg is gelaten (of alleen spaties bevat), blijft het bestaande opgeslagen geheim behouden. Het indienen van een niet-lege waarde vervangt het geheim. Dezelfde regel is van toepassing op het reguliere tabblad Instellingen — zie Beheerdersreferentie voor Instellingen.

De Base URL wordt gevalideerd tegen een http/https allowlist; andere schema's (bijvoorbeeld javascript:) worden geweigerd.

Stap 4 — Pagina's

Voor elke openbare pagina biedt de wizard drie modi:

  • Create automaticallywp_insert_post() wordt aangeroepen met post_type=page, post_status=publish, de canonieke titel en de canonieke shortcode als pagina-inhoud. Er wordt eerst gezocht op titel om te voorkomen dat er een duplicaat wordt aangemaakt als er al een pagina met dezelfde titel bestaat.
  • Use existing page — de beheerder voert de post-ID van een bestaande pagina in en de bijbehorende optie (as24ci_page_archive_id, as24ci_page_compare_id, as24ci_page_favorites_id) wordt bijgewerkt.
  • Skip — de pagina wordt niet aangemaakt en de bestaande optiewaarde blijft behouden.

Canonieke pagina's en shortcodes:

PaginaShortcodeOptie
Cars[as24ci_archive]as24ci_page_archive_id
Compare Cars[as24ci_compare]as24ci_page_compare_id
Favorites[as24ci_favorites]as24ci_page_favorites_id

Als de optie al naar een bestaande pagina verwijst (get_post() retourneert een gepubliceerde pagina), behoudt de wizard deze en maakt geen duplicaat aan. De wizard verwijdert nooit bestaande pagina's.

Zoekalerts hebben bewust geen openbare pagina in de wizard. Abonnementen op zoekalerts worden beheerd via de [as24ci_archive] filter-sidebar en vanaf het tabblad Beheerdersreferentie voor Zoekalerts.

Stap 5 — Functies

Schakelt de meest voorkomende standaardfuncties in of uit. Elke schakelaar wordt geregistreerd met een expliciete "aanwezigheidsmarkering", zodat het tussentijds opnieuw uitvoeren van de wizard nooit een instelling wist die niet op het formulier stond:

  • Knoppen voor delen op sociale media
  • PDF datasheet
  • QR-code in PDF
  • Lopende kosten per 100 km
  • Vergelijken
  • Favorieten
  • Zoekalerts
  • Analytics tracking

In de Demo-modus is de analytics-schakelaar vooraf aangevinkt. In de Live-modus is deze uitgevinkt, tenzij de beheerder deze expliciet inschakelt.

Verborgen standaardwaarden waar de wizard op vertrouwt (plaatsing van knoppen voor sociale media, de volledige netwerkset, archieflay-out = beide, samenvatting van de lijst = 150) worden alleen geïnstalleerd wanneer de bijbehorende optie ontbreekt; bestaande waarden worden behouden.

Stap 6 — Voltooien

Een alleen-lezen samenvatting van de gemaakte keuzes. In de Demo-modus heeft de voltooiingsknop het label Install Demo Data and Finish en activeert deze het bestaande Demo_Data::install()-pad. In de Live-modus slaat de voltooiingsknop alleen de verzamelde instellingen van de wizard op.

Na een succesvolle voltooiing:

  • as24ci_setup_wizard_completed is ingesteld.
  • as24ci_setup_completed_at is ingesteld op een ISO-8601 UTC-tijdstempel.
  • as24ci_setup_completed_by is ingesteld op de WordPress-gebruikers-ID.
  • De beheerder wordt teruggestuurd naar het Dashboard met een tijdelijke succesmelding.

Gedrag van de admin-melding

De welkomstmelding wordt alleen weergegeven als al het volgende waar is:

  • De huidige gebruiker heeft de beheersmogelijkheid van de plugin.
  • as24ci_setup_first_activation_at bestaat (alleen geregistreerd door Plugin::activate() wanneer deze ontbreekt, zodat bestaande installaties die upgraden zonder heractivering niet worden lastiggevallen).
  • as24ci_setup_wizard_completed is niet ingesteld.
  • as24ci_setup_wizard_skipped is niet ingesteld.
  • Het huidige scherm is niet de wizard-pagina zelf.

Er worden twee knoppen aangeboden:

  • Start Setup Wizard opent de wizard.
  • Skip for now verzendt een verzoek naar admin-post.php?action=as24ci_setup_wizard_skip (met controles op capabilities en nonces). Het stelt as24ci_setup_wizard_skipped=1 in en stuurt de gebruiker terug naar het Dashboard. De melding verschijnt niet opnieuw bij het laden van volgende beheerpagina's.

De wizard stuurt na activering nooit geforceerd door.

Configuratiereferentie

Statusopties

OptieDoel
as24ci_setup_first_activation_atTijdstempel van de eerste activering. Eenmalig geregistreerd via add_option(); wordt nooit overschreven bij latere (her)activeringen.
as24ci_setup_wizard_completedIngesteld op 1 na een succesvolle voltooiing.
as24ci_setup_wizard_skippedIngesteld op 1 wanneer de beheerder op 'Skip for now' klikt in de welkomstmelding.
as24ci_setup_modeOfwel demo of live.
as24ci_setup_completed_atISO-8601 UTC-tijdstempel van de voltooiing.
as24ci_setup_completed_byWordPress-gebruikers-ID die de wizard heeft voltooid.

Opties voor dealerprofiel

as24ci_dealer_name, as24ci_dealer_street, as24ci_dealer_postal_code, as24ci_dealer_city, as24ci_dealer_country, as24ci_dealer_phone, as24ci_dealer_email, as24ci_dealer_website, as24ci_dealer_logo_id, as24ci_dealer_language.

Bestaande opties die de wizard kan schrijven

CLIENT_ID, CLIENT_SECRET, SELLER_IDS, BASE_URL, DEFAULT_CURRENCY, FEATURE_SOCIAL_SHARE, SOCIAL_SHARE_PLACEMENT, SOCIAL_SHARE_NETWORKS, FEATURE_PDF_DATASHEET, FEATURE_COMPARE, FEATURE_FAVORITES, FEATURE_SEARCH_AGENT, ANALYTICS_ENABLED, ENVKV_SHOW_COSTS_100KM, PDF_MANAGER_SETTINGS (sleutel show_qr), DESIGN_ARCHIVE_LAYOUT, ARCHIVE_LIST_EXCERPT_LENGTH, as24ci_page_archive_id, as24ci_page_compare_id, as24ci_page_favorites_id.

De wizard werkt alleen opties bij waarvan de formuliervelden daadwerkelijk aanwezig zijn in de ingediende POST-payload. Niet-ingediende velden behouden hun bestaande waarde.

Beveiliging

  • Toegangscontrole via capabilities. Elk toegangspunt (de wizard-pagina, de handler voor het opslaan van het formulier en de skip-handler) roept current_user_can( Plugin::CAP_MANAGE ) aan en breekt af met wp_die() als de capability ontbreekt.
  • Nonces. Het opslaan van het formulier gebruikt wp_nonce_field() / check_admin_referer(); de skip-URL gebruikt wp_nonce_url() / check_admin_referer().
  • Client Secret. Het opgeslagen geheim wordt nooit opnieuw weergegeven in de HTML van de beheerder. Lege inzendingen of inzendingen met alleen spaties behouden de opgeslagen waarde.
  • URL-validatie. De Base URL en de website van de dealer moeten het schema http of https gebruiken; andere schema's worden geweigerd.
  • E-mailvalidatie. Het e-mailadres van de dealer wordt gevalideerd met is_email(). Ongeldige invoer behoudt stilzwijgend de bestaande waarde; een lege inzending wist deze.
  • Opschoning (Sanitization). Modus, land, valuta, taal en paginamodus worden gecontroleerd tegen expliciete allowlists. Tekstvelden gebruiken sanitize_text_field(). Pagina-ID's gebruiken absint().
  • Output escaping. Elke dynamische waarde die door de wizard wordt weergegeven, gebruikt esc_html, esc_attr of esc_url.

Operationele opmerkingen

  • De wizard wijzigt nooit instellingen bij de activering van de plugin. Activering installeert alleen niet-destructieve standaardwaarden via add_option().
  • De wizard wijzigt nooit instellingen wanneer een stap wordt geladen — instellingen worden alleen bijgewerkt wanneer de beheerder een stap indient.
  • Demo setup blijft een expliciete reset en seed: het herstelt bewust door demo's beheerde opties en voegt demovoertuigen toe. Gebruik dit alleen op specifieke demo- of evaluatiesites.
  • Live setup is niet-destructief met betrekking tot voertuigen en klantinstellingen. Het slaat de geselecteerde instellingen en pagina's van de wizard op, maar installeert geen demogegevens.
  • Analytics is alleen vooraf aangevinkt in de Demo-modus. In de Live-modus is de schakelaar opt-in. Zie Beheerdersreferentie voor Analytics voor privacyoverwegingen.
  • De wizard voert geen AI-provisioning, automatische imports, planning of volledige synchronisatie uit. Deze worden later geconfigureerd in de bijbehorende beheerderstabs.
  • De wizard is geen vervanging voor een tool voor toestemming voor cookies, een CMP, een privacybeleid of een juridische beoordeling. Schakel analytics op een live site pas in nadat aan deze vereisten is voldaan.

Probleemoplossing

  • De welkomstmelding verschijnt niet. De wizard is voltooid (as24ci_setup_wizard_completed) of overgeslagen (as24ci_setup_wizard_skipped), de huidige gebruiker heeft niet de vereiste beheerdersrechten, of de tijdstempel van de eerste activering is niet geregistreerd (typisch voor upgrades die geen nieuwe activering hebben geactiveerd). Open in plaats daarvan de wizard via Car Market Hub → Tools → Setup Wizard.
  • Ik heb de wizard overgeslagen. Hoe open ik deze opnieuw? Gebruik de link Setup Wizard uitvoeren op Car Market Hub → Dashboard of de kaart Setup Wizard op Car Market Hub → Tools.
  • De wizard heeft mijn pagina's niet aangemaakt. Er bestond al een pagina met dezelfde titel en deze is hergebruikt, of de optie Overslaan was geselecteerd voor die pagina bij Stap 4. Open Pages in WordPress en controleer dit. De wizard verwijdert nooit pagina's.
  • Het veld Client Secret is leeg wanneer ik Stap 3 opnieuw open. Dit is ontworpen gedrag. Het opgeslagen geheim wordt nooit opnieuw weergegeven. Als u het veld leeg laat, blijft de opgeslagen waarde behouden.
  • Analytics is niet ingeschakeld na de Live-installatie. In de Live-modus is de analytics-schakelaar een opt-in. Open de wizard opnieuw en schakel deze in bij Stap 5, of schakel deze in op het tabblad Analytics. Controleer eerst de cookie-toestemming en privacyvereisten.
  • Demogegevens zijn niet geïnstalleerd. Zorg ervoor dat u Demo-installatie heeft geselecteerd bij Stap 1 en op Demogegevens installeren en voltooien heeft geklikt bij Stap 6. De Live-installatie installeert geen demogegevens.
  • Vergelijken of Favorieten zijn leeg in de demo. Vergelijken en Favorieten zijn gebaseerd op localStorage; de demo vult een fallback die de localStorage vult bij de eerste paginalading. Open de pagina Vergelijken of Favorieten eenmalig in dezelfde browsersessie om dit proces te starten.
  • De wizard overschrijft mijn bestaande instellingen niet. Correct. De wizard schrijft alleen opties waarvan de formuliervelden zijn verzonden. Het tussentijds opnieuw uitvoeren wist nooit ongerelateerde instellingen.

Gerelateerde documenten