Documentatie · Technische documentatie
Opslag van opties en instellingen
Dit document beschrijft hoe de ADP Car Market Hub-plugin zijn instellingen opslaat: welke sleutels worden gebruikt, waar ze zich in de database bevinden en hoe de waarden door de plugin worden gelezen en geschreven.
Wanneer u dit document moet gebruiken
Lees dit document als u:
- Een specifieke plugin-instelling wilt vinden in
wp_options. - Wilt begrijpen welke optie een specifieke functie-schakelaar (feature toggle) aanstuurt.
- Een back-up, omgevingsmigratie of staging-naar-productie-implementatie plant die plugin-instellingen bevat.
- Een aangepaste integratie wilt bouwen die een plugin-optie uitleest van buiten de plugin-code.
Zie voor de onderliggende tabellen en entiteiten het Database Schema en het Data Model.
Overzicht
Alle door de gebruiker configureerbare instellingen worden opgeslagen als standaard WordPress-opties in de wp_options-tabel. De plugin onderhoudt geen aparte tabel voor instellingen.
Optiesleutels zijn gedefinieerd als constanten in de klasse AS24CI\Options, zodat:
- De sleutels op exact één plaats in de broncode bestaan.
- De de-installatieroutine de volledige optielijst automatisch kan afleiden uit
AS24CI\Options::get_all_keys(). - Code die een instelling leest of schrijft, kan verwijzen naar de constante in plaats van de ruwe string te herhalen.
De meeste instellingen zijn scalair (string, integer, boolean gecodeerd als 0/1). Een paar zijn arrays (bijvoorbeeld Seller IDs, mapping-overrides, lay-outzones, social-share-netwerken). Arrays worden opgeslagen met behulp van de standaard optieserialisatie van WordPress.
Naamgevingsconventies
Alle optiesleutels van de plugin beginnen met het voorvoegsel as24ci_. Subsysteemvoorvoegsels groeperen gerelateerde instellingen:
as24ci_design_*,as24ci_archive_*,as24ci_single_*,as24ci_fav_*,as24ci_comp_*— ontwerp- en typografie-instellingen.as24ci_cron_*,as24ci_image_queue*— planner en afbeeldingenwachtrij.as24ci_lead_*— contactformulier, toestemming en e-mailsjablonen.as24ci_ai_*— AI Assistant.as24ci_analytics_*— analytics en toestemming.as24ci_test_drive_*— proefritboeking.as24ci_envkv_*— Duitse EnVKV / WLTP-configuratie voor lopende kosten.as24ci_lm_*,as24ci_layout_*— Layout Manager-zones en archieflay-out.as24ci_feature_*— feature toggles voor optionele subsystemen.
De volledige inventaris van optiesleutels is de openbare lijst die wordt geretourneerd door AS24CI\Options::get_all_keys().
Categorieën instellingen
De klasse Options definieert ruim honderd constanten. De onderstaande lijst groepeert ze op basis van hun doel. Waar een standaardwaarde in de code is gedocumenteerd (constante standaardwaarde, add_option() in seed_safe_defaults(), of inline get_option(..., $default)-aanroepen), wordt deze vermeld. Controleer elke niet-standaardwaarde met de huidige plugin-versie voordat u deze publiceert.
API en authenticatie
Gebruikt door AS24CI\Client om te communiceren met de AutoScout24 API.
as24ci_base_url(Options::BASE_URL) — API-basis-URL.as24ci_token_url(Options::TOKEN_URL) — OAuth-token-URL.as24ci_seller_ids(Options::SELLER_IDS) — door komma's gescheiden lijst van verkoper-ID's.as24ci_client_id(Options::CLIENT_ID) — OAuth Client ID.as24ci_client_secret(Options::CLIENT_SECRET) — OAuth client secret.as24ci_token_audience(Options::TOKEN_AUDIENCE) — OAuth audience-parameter.as24ci_default_currency(Options::DEFAULT_CURRENCY) — standaard ISO 4217-valutacode (ingesteld alsEURbij activering).
Deze waarden zijn vereist voor de werking van elke import en moeten als vertrouwelijk worden behandeld. Ze worden niet getoond aan niet-beheerders.
Gedrag van de importer
Gebruikt door AS24CI\Importer en AS24CI\Image_Importer.
as24ci_default_post_status(Options::DEFAULT_POST_STATUS) — status die wordt toegewezen aan nieuw geïmporteerde voertuigen. Ingesteld alsdraftzodat beheerders de mappings kunnen controleren voordat ze worden gepubliceerd.as24ci_default_post_author(Options::DEFAULT_POST_AUTHOR) — standaard gebruikers-ID van de auteur.as24ci_import_images(Options::IMPORT_IMAGES) — of afbeeldingen moeten worden geïmporteerd.as24ci_max_images(Options::MAX_IMAGES) — maximaal aantal afbeeldingen per voertuig. Ingesteld als30. Een waarde van0wordt door de importer behandeld als onbeperkt; de afbeeldingen-importer handhaaft de limiet bovendien defensief.as24ci_convert_to_webp(Options::CONVERT_TO_WEBP) — geïmporteerde afbeeldingen converteren naar WebP.as24ci_webp_quality(Options::WEBP_QUALITY) — WebP-kwaliteit (1–100; standaard ingesteld op80indien niet ingevuld).as24ci_full_sync(Options::FULL_SYNC) — indien ingeschakeld, worden voertuigen die niet meer in de API aanwezig zijn na elke import verwijderd. Ingesteld als0.as24ci_verbose_logging(Options::VERBOSE_LOGGING) — gedetailleerde logregels per voertuig / per afbeelding.as24ci_mapping_overrides(Options::MAPPING_OVERRIDES) — array van label- en zichtbaarheidsoverschrijvingen per AS24-veld.
Planner en automatisering
Gebruikt door AS24CI\Scheduler en AS24CI\Cron_Endpoint.
as24ci_auto_import_enabled(Options::AUTO_IMPORT_ENABLED).as24ci_cron_schedule(Options::CRON_SCHEDULE) — een vanhourly,as24ci_every_6_hours,twicedaily,daily,as24ci_custom. Standaard:hourly.as24ci_cron_start_time(Options::CRON_START_TIME) — starttijd voor dagelijkse / tweemaal daagse schema's inHH:MM(24 uur, WordPress tijdzone van de site). Standaard:06:00.as24ci_cron_custom_minutes(Options::CRON_CUSTOM_MINUTES) — interval voor het aangepaste schema. Minimum:15. Standaard:30.as24ci_cron_mode(Options::CRON_MODE) —wp-cronofserver-cron.as24ci_cron_token(Options::CRON_TOKEN) — token voor het REST cron-import-eindpunt.as24ci_cron_max_vehicles(Options::CRON_MAX_VEHICLES) — voertuiglimiet per cron-run.0= onbeperkt.as24ci_cron_image_queue(Options::CRON_IMAGE_QUEUE) — afbeeldingswachtrij-modus inschakelen tijdens cron-runs. Standaard:1.as24ci_image_queue(Options::IMAGE_QUEUE_DATA) — persistente payload voor de wachtrij van openstaande afbeeldingen.as24ci_image_queue_last_run(Options::IMAGE_QUEUE_LAST_RUN) — statistieken van de laatste run van de afbeeldingswachtrij-worker.as24ci_last_run_time(Options::LAST_RUN_TIME) — Unix-timestamp van de laatst voltooide import.as24ci_last_run_status(Options::LAST_RUN_STATUS) — array met tellingen{ inserted, updated, skipped, errors, sync_deleted }.as24ci_last_external_cron_run(Options::LAST_EXTERNAL_CRON_RUN) — Unix-timestamp van de laatste succesvolle externe cron-ping.
Standaardpagina's en levenscyclus
as24ci_create_default_pages(Options::CREATE_DEFAULT_PAGES) — of de pagina's Auto's / Vergelijken / Favorieten moeten worden aangemaakt bij activering.as24ci_page_archive_id,as24ci_page_compare_id,as24ci_page_favorites_id— ID's van de bij activering aangemaakte pagina's.as24ci_delete_data_on_uninstall(Options::DELETE_DATA_ON_UNINSTALL) — wanneer ingesteld op1, verwijdert de de-installatieroutine voertuigen, leads, geïmporteerde bijlagen en de bij activering aangemaakte pagina's.as24ci_caps_version(Options::CAPS_VERSION) — marker voor de migratie van rechten.as24ci_db_version(Options::DB_VERSION) — marker voor data-/schemamigratie.
Schemamarkers voor aangepaste tabellen
as24ci_vehicles_db_version— schemaversie van deas24_vehicles-tabel.as24ci_search_agent_db_version— schemaversie van deas24ci_search_agents-tabel.as24ci_content_studio_db_version— gedeelde schemaversie van deas24ci_content_studio_jobs- enas24ci_content_studio_assets-tabellen.as24ci_analytics_db_version— schemaversie van deas24ci_analytics-tabel (constanteAS24CI\Analytics::DB_VERSION_KEY).
Functieschakelaars
Alle functieschakelaars bevinden zich op AS24CI\Options::FEATURE_*. Standaardwaarden worden bij activering ingesteld door AS24CI\Plugin::seed_safe_defaults():
- Standaard ingeschakeld:
FEATURE_SCHEMA,FEATURE_SOCIAL_SHARE,FEATURE_FAVORITES,FEATURE_COMPARE,FEATURE_PDF_DATASHEET,FEATURE_SITEMAP,FEATURE_DASHBOARD_WIDGET,FEATURE_LAZY_LOADING,FEATURE_BULK_ACTIONS,FEATURE_EXPORT,FINANCING_ENABLED,LAYOUT_MANAGER_ENABLED.FEATURE_SEARCH_AGENTheeft geen expliciet ingestelde standaardwaarde, maar de controle tijdens registratie behandelt alles behalve'0'als ingeschakeld, waardoor deze standaard effectief aan staat. - Standaard uitgeschakeld vanwege veiligheid/naleving:
ANALYTICS_ENABLED,REST_API_ENABLED,AI_ASSISTANT_ENABLED,TEST_DRIVE_ENABLED.
De volledige lijst met schakelaars en hun betekenis is gedocumenteerd in het klasse-docblock voor elke constante.
Leadformulier en e-mail
Gebruikt door AS24CI\Contact_Form en AS24CI\Leads_CPT.
as24ci_lead_recipient_email— e-mailadres van de ontvanger overschrijven.as24ci_lead_field_*(naam/e-mail/telefoon/bericht) — formuliervelden tonen/verbergen. Standaard ingesteld op1.as24ci_lead_consent_enabled,as24ci_lead_consent_text,as24ci_lead_privacy_url— configuratie van het toestemmingsselectievakje.as24ci_lead_msg_success,as24ci_lead_msg_error— aangepaste gebruikersberichten.as24ci_lead_email_subject_dealer,as24ci_lead_email_subject_customer,as24ci_lead_email_template_dealer,as24ci_lead_email_template_customer— e-mailsjablonen met ondersteuning voor tijdelijke aanduidingen (placeholders).
Analytics
as24ci_analytics_enabled— hoofdschakelaar. Standaard:0.as24ci_analytics_retention_days— bewaartermijn in dagen. Standaard:180.as24ci_analytics_bi_enabled— BI / uitgebreide gebeurtenistracking.as24ci_analytics_require_consent— wanneer1, blokkeert dit tracking totdat een extern toestemmingssignaal binnenkomt via hetas24ci_analytics_consent_check-filter.as24ci_analytics_filter_minimization— vrije tekstzoekwaarden verwijderen uit analytics-payloads. Standaard:1.as24ci_analytics_privacy_jurisdiction—auto,gdpr,dsgvo,revdsg,uk_gdprofgeneric.
AI Assistant
as24ci_ai_assistant_enabled(Options::AI_ASSISTANT_ENABLED).as24ci_ai_assistant_language,as24ci_ai_assistant_tone,as24ci_ai_assistant_max_length,as24ci_ai_assistant_custom_prompt.as24ci_ai_assistant_auto_generate,as24ci_ai_gen_alt_text,as24ci_ai_gen_seo,as24ci_ai_extract_highlights.
AI-functies maken gebruik van een beheerde Google Gemini-configuratie. De hardgecodeerde Gemini sleutel-/modelconstanten op AS24CI\Ai_Config zijn verwijderd; Ai_Config is nu een dunne facade (get_managed_gemini_api_key() / get_effective_model()) die de Gemini-sleutel van de klant ophaalt uit de gecodeerde inloggegevens die zijn gesynchroniseerd door het API-platform en worden beheerd door AS24CI\Ai_Credential_Manager (het runtime-model is altijd Ai_Credential_Manager::PRIMARY_MODEL). Er bestaat geen optie voor provider, model of API-sleutel in wp_options, en de sleutel wordt nooit getoond in de beheerinterface; de AI-provisioning voor de klant wordt na installatie server-to-server voltooid door AD Promotion.
Proefrit boeken
Gebruikt door AS24CI\Test_Drive.
as24ci_test_drive_enabled— hoofdschakelaar. Standaard:0.as24ci_test_drive_available_days— array van ISO-dagnummers (1=ma … 7=zo).as24ci_test_drive_start_time,as24ci_test_drive_end_time— tijdvenster (HH:MM, 24 uur). Standaardwaarden08:00/18:00.as24ci_test_drive_slot_duration— lengte van het tijdslot in minuten. Standaard:30.as24ci_test_drive_blackout_dates— array vanY-m-d-strings.
Webhooks, REST API en externe diensten
as24ci_webhook_url_new_lead,as24ci_webhook_url_new_import,as24ci_webhook_secret.as24ci_rest_api_enabled(Options::REST_API_ENABLED).as24ci_hub_api_key,as24ci_hub_target_market— Market Hub-integratie (standaard doelmarkt:DE).as24ci_locations— array van dealerlocaties (autoload UIT; wordt alleen geladen op individuele voertuigpagina's en het tabblad Locaties in het beheerpaneel).
Licenties en beheerde toegang
Gebruikt door AS24CI\License_Manager. Deze bevatten de licentiestatus en functierechten van het ADP Car Market Hub API-platform:
as24ci_license_plan,as24ci_license_status,as24ci_license_last_error,as24ci_license_support_until,as24ci_license_expires_at,as24ci_license_installation_uid,as24ci_license_normalized_domain(constantenOptions::LICENSE_*).- De status van functierechten regelt de operationele (import/schrijf) en AI-paden; deze wordt ververst door de dagelijkse
as24ci_license_refreshcron en door het inkomende eindpunt voor het verversen van licenties.
CMH Team
Gebruikt door AS24CI\Team (op opties gebaseerde opslag, die Locations spiegelt):
as24ci_team_members(Options::TEAM_MEMBERS) — array van verkoopcontacten (geen WordPress-gebruikersaccounts vereist).as24ci_team_location_defaults,as24ci_team_standards,as24ci_team_rules— ondersteunende configuratie.
Content Studio
Content Studio-sleutels zijn gedefinieerd op AS24CI\Content_Studio_Options (niet AS24CI\Options) en worden expliciet toegevoegd aan de de-installatielijst:
as24ci_content_studio_db_version— gedeelde schemaversie van de twee Content Studio-tabellen.as24ci_content_studio_google_api_key,as24ci_content_studio_default_language,as24ci_content_studio_default_tone,as24ci_content_studio_brand_voice,as24ci_content_studio_disclaimer_text,as24ci_content_studio_compliance_notes.
Layout Manager en archieflay-out
as24ci_layout_manager_enabled— hoofdschakelaar. Ingesteld als1(aan) doorseed_safe_defaults().as24ci_lm_zone_*— lay-out-arrays per zone voor zoekfilters, archiefkaarten, enkele hoofd-/zijbalk/onderkant, vergelijken en favorieten.as24ci_lm_block_<id>— veldconfiguratie per blok.as24ci_layout_archive_columns— 1–4. Standaard:3.as24ci_archive_default_sort—date_desc,price_asc,price_descofmileage_asc.as24ci_archive_per_page— voertuigen per pagina. Standaard:24.as24ci_archive_list_excerpt_length— tekens van het samenvattingsfragment in de lijstweergave (0–500). Standaard:75.as24ci_layout_search_filters,as24ci_layout_single_main,as24ci_layout_single_sidebar,as24ci_layout_single_bottom— geordende arrays van bloksleutels met gedocumenteerde standaardlijsten.
Ontwerp en typografie
as24ci_design_* plus de paginaspecifieke typografie-opties as24ci_single_*, as24ci_archive_*, as24ci_fav_* en as24ci_comp_*. Deze sturen het kleurenschema, de lettertypen, lay-outs, badges en galerij-opties aan die beschikbaar zijn in het beheerderstabblad Design & Styles. De volledige lijst is opgenomen als constanten op AS24CI\Options.
EnVKV / WLTP
Voor naleving van de Duitse wetgeving, gebruikt door de EnVKV-calculator voor lopende kosten op individuele voertuigpagina's.
as24ci_envkv_year— referentiejaar (standaard2024).as24ci_envkv_price_petrol,as24ci_envkv_price_diesel,as24ci_envkv_price_electric— brandstof-/elektriciteitsprijzen.as24ci_envkv_co2_price_low,as24ci_envkv_co2_price_med,as24ci_envkv_co2_price_high— CO₂-kosten per ton.as24ci_envkv_show_costs_100km— lopende kosten weergeven (standaardno).
Stapsgewijze instructies
De instellingeninterface van de plugin is de ondersteunde manier om opties te wijzigen. De onderstaande punten beschrijven de ondersteunde levenscyclus.
- Eerste installatie. Bij activering schrijft
seed_safe_defaults()een behoudende set standaardwaarden met behulp vanadd_option(). Bestaande waarden worden nooit overschreven. Open het relevante beheerderstabblad om de standaardwaarden te controleren voordat u live gaat. - Dagelijkse wijzigingen. Bewerk instellingen in het bijbehorende beheerderstabblad (Importer, Automation, Design & Styles, Mapping, AI Assistant, etc.). Wijzigingen worden opgeslagen via de WordPress Settings API.
- Back-ups. Standaard WordPress-databaseback-ups slaan alle plugin-opties op omdat deze zich in
wp_optionsbevinden. Er is geen aanvullende back-up vereist. - Omgevingsmigraties. Kopieer bij het verplaatsen van een site tussen omgevingen de relevante
as24ci_*-rijen mee met de rest vanwp_options. Behandelas24ci_client_id,as24ci_client_secret,as24ci_cron_tokenen het webhook-geheim (as24ci_webhook_secret) als vertrouwelijk. Let op dat bij installaties die zijn gemigreerd naar dataversie 5 deze omkeerbare geheimen AES-256-GCM-gecodeerd worden opgeslagen en het cron-token gehasht wordt opgeslagen (zie migratiestap 5 in Plugin Bootstrap And Lifecycle). De beheerde Gemini-sleutel wordt niet opgeslagen inwp_options; deze wordt server-to-server gesynchroniseerd door het API-platform (gecodeerd bewaard doorAS24CI\Ai_Credential_Manager) en wordt niet gemigreerd via databaseverhuizingen. - Een instelling resetten. Verwijder de optie (of gebruik de resetknop van het beheerderstabblad indien aanwezig). De plugin valt dan terug op de standaardwaarde die voor die instelling is gedocumenteerd.
Configuration reference
Gebruik AS24CI\Options::get_all_keys() (geretourneerd door reflectie op de
class) voor de gezaghebbende, volledige lijst van optiesleutels bij elke
plugin-versie. De bovenstaande lijst is gegroepeerd ter referentie; nieuwe
constanten die aan Options worden toegevoegd, worden automatisch opgenomen in de
opschoonactie bij het deïnstalleren.
Operational notes
- Alle optie-uitlezingen in de plugin-code verlopen via
get_option()met een gedocumenteerde standaardwaarde, zodat ontbrekende rijen zich hetzelfde gedragen als vers geïnstalleerde standaardwaarden. - Een klein aantal opties is opzettelijk
autoload = falseom de tabel met automatisch geladen opties klein te houden. Opvallende voorbeelden zijnas24ci_image_queue,as24ci_image_queue_last_runenas24ci_locations. seed_safe_defaults()wordt opnieuw uitgevoerd als onderdeel van migratiestap 4, zodat bestaande installaties eventuele nieuwe veilige standaardwaarden ontvangen zonder door de beheerder gewijzigde waarden te overschrijven.- Multisite-installaties slaan opties per site op. De deïnstallatieroutine
loopt door elke site via
switch_to_blog().
Troubleshooting
- Een instelling keert terug naar de oude waarde na een upgrade. De plugin overschrijft
nooit bestaande optiewaarden tijdens upgrades. Controleer of de wijziging is
opgeslagen (de optierij bestaat in
wp_options) en dat er geen configuratiebeheertool is die een oudere waarde herstelt. - Wijzigingen in het Cron-schema worden genegeerd. De planner herprogrammeert
WP-Cron alleen wanneer de methode
reschedule()wordt aangeroepen. Gebruik het tabblad Import & Limieten om het nieuwe schema op te slaan in plaats van de optie rechtstreeks te bewerken. - Een migratie reset onverwacht een optie. Alleen de
waarde van
ANALYTICS_REQUIRE_CONSENTwordt opzettelijk genormaliseerd door migratiestap 2 (gedwongen naar0). Alle andere instellingen blijven behouden door de migratiestappen. - Verouderde of grote automatisch geladen gegevens. Inspecteer de grootte van de automatisch geladen opties
in
wp_optionsen schakel automatisch laden uit voor eventuele aangepaste plugin-opties die u hebt toegevoegd en die grote arrays opslaan.