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 automatically —
wp_insert_post()wordt aangeroepen metpost_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:
| Pagina | Shortcode | Optie |
|---|---|---|
| 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_completedis ingesteld.as24ci_setup_completed_atis ingesteld op een ISO-8601 UTC-tijdstempel.as24ci_setup_completed_byis 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_atbestaat (alleen geregistreerd doorPlugin::activate()wanneer deze ontbreekt, zodat bestaande installaties die upgraden zonder heractivering niet worden lastiggevallen).as24ci_setup_wizard_completedis niet ingesteld.as24ci_setup_wizard_skippedis 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 steltas24ci_setup_wizard_skipped=1in 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
| Optie | Doel |
|---|---|
as24ci_setup_first_activation_at | Tijdstempel van de eerste activering. Eenmalig geregistreerd via add_option(); wordt nooit overschreven bij latere (her)activeringen. |
as24ci_setup_wizard_completed | Ingesteld op 1 na een succesvolle voltooiing. |
as24ci_setup_wizard_skipped | Ingesteld op 1 wanneer de beheerder op 'Skip for now' klikt in de welkomstmelding. |
as24ci_setup_mode | Ofwel demo of live. |
as24ci_setup_completed_at | ISO-8601 UTC-tijdstempel van de voltooiing. |
as24ci_setup_completed_by | WordPress-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 metwp_die()als de capability ontbreekt. - Nonces. Het opslaan van het formulier gebruikt
wp_nonce_field()/check_admin_referer(); de skip-URL gebruiktwp_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
httpofhttpsgebruiken; 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 gebruikenabsint(). - Output escaping. Elke dynamische waarde die door de wizard wordt weergegeven, gebruikt
esc_html,esc_attrofesc_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 viaCar 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 → Dashboardof de kaart Setup Wizard opCar 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
Pagesin 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.