Documentation · Appendices

Settings Reference

This appendix is a reference list of the option keys that the ADP Car Market Hub plugin reads and writes.

When to use this document

Use this reference when you need to look up the option key behind an admin field, when you want to read a value programmatically with get_option(), or when you are auditing a deployment. For the configuration UI, see Settings Reference (Admin). For the conceptual storage model, see Option Keys And Settings Storage.

Overview

All plugin options are stored in wp_options with the prefix as24ci_. Boolean toggles are stored as the strings '1' (enabled) and '0' (disabled) unless noted otherwise. The canonical keys are defined as constants in includes/class-as24ci-options.php (AS24CI\Options); always prefer the constants from PHP.

The plugin does not register options through the WordPress Settings API. Each admin tab saves its own options through dedicated handlers protected by capability and nonce checks.

API and authentication

Option keyPurpose
as24ci_base_urlBase URL of the data API (typically an AutoScout24 endpoint or a customer-supplied proxy).
as24ci_token_urlOAuth token endpoint.
as24ci_token_audienceJWT audience value. Derived automatically from the configured base URL when not set explicitly.
as24ci_client_idOAuth client ID.
as24ci_client_secretOAuth client secret. Sensitive. Stored unencrypted; treat as a credential.
as24ci_seller_idsOne or more seller IDs (array or comma-separated string in the input).
as24ci_default_currencyDefault ISO 4217 currency code used when no per-vehicle currency is supplied.

Import behaviour

Option keyPurpose
as24ci_default_post_statusInitial post status for newly imported vehicles.
as24ci_default_post_authorUser ID used as author for newly imported vehicles.
as24ci_import_imagesEnable image import.
as24ci_max_imagesMaximum number of images per vehicle (0 = unlimited).
as24ci_convert_to_webpConvert imported images to WebP (requires GD or Imagick).
as24ci_webp_qualityWebP quality (1–100, default 80).
as24ci_full_syncDelete local vehicles missing from the remote feed at the end of each run. Opt-in.
as24ci_verbose_loggingLog additional per-field and per-image detail during imports.

Scheduler and automation

Option keyPurpose
as24ci_auto_import_enabledMaster toggle for the WP-Cron import event.
as24ci_cron_scheduleSchedule key: hourly, as24ci_every_6_hours, twicedaily, daily, as24ci_custom.
as24ci_cron_start_timeStart time in HH:MM (24h, WordPress site timezone) for daily and twicedaily.
as24ci_cron_custom_minutesInterval in minutes for as24ci_custom. Clamped to a minimum of 15.
as24ci_cron_modewp-cron or server-cron. Drives admin UI hints.
as24ci_cron_tokenToken for the cron-import REST endpoint. Sensitive. Empty value disables the endpoint.
as24ci_cron_max_vehiclesMaximum vehicles processed per cron / REST run (0 = unlimited).
as24ci_cron_image_queueUse the image queue during cron / REST runs.
as24ci_last_run_timeUnix timestamp of the last completed run.
as24ci_last_run_statusCounts array from the last run.
as24ci_last_run_manual1 if the last run was triggered manually.
as24ci_last_external_cron_runUnix timestamp of the last ?as24ci_cron=1 ping.

REST API

Option keyPurpose
as24ci_rest_api_enabledWhen '1', registers the public /vehicles and /vehicles/{id} routes. Default '0'.

Default pages and uninstall

Option keyPurpose
as24ci_create_default_pagesWhen checked at save time, the plugin creates the Cars, Compare and Favorites pages if they are missing. Existing pages are not overwritten.
as24ci_page_archive_idPage ID of the activation-created Cars page.
as24ci_page_compare_idPage ID of the activation-created Compare page.
as24ci_page_favorites_idPage ID of the activation-created Favorites page.
as24ci_delete_data_on_uninstallWhen '1', uninstall removes vehicles, leads, imported attachments and the activation-created pages.

Lead processing and contact form

Option keyPurpose
as24ci_lead_recipient_emailOverride recipient email for lead notifications.
as24ci_lead_field_name, as24ci_lead_field_email, as24ci_lead_field_phone, as24ci_lead_field_messagePer-field visibility toggles for the contact form.
as24ci_lead_consent_enabled, as24ci_lead_consent_text, as24ci_lead_privacy_urlConsent checkbox configuration.
as24ci_lead_msg_success, as24ci_lead_msg_errorFrontend status messages.
as24ci_lead_email_subject_dealer, as24ci_lead_email_subject_customer, as24ci_lead_email_template_dealer, as24ci_lead_email_template_customerNotification email templates.

Webhooks

Option keyPurpose
as24ci_webhook_url_new_leadTarget URL for the new_lead event. Empty disables the event.
as24ci_webhook_url_new_importTarget URL for the new_import event. Empty disables the event.
as24ci_webhook_secretHMAC-SHA256 signing secret. Sensitive. Empty disables signing.

AI Assistant (optional)

AI features use the managed Google Gemini configuration in ADP Car Market Hub. No provider, model or API key option exists in wp_options. The managed Gemini key and model are PHP constants on AS24CI\Ai_Config (MANAGED_GEMINI_API_KEY, MANAGED_GEMINI_MODEL) provisioned by AD Promotion after installation.

Option keyPurpose
as24ci_ai_assistant_enabledMaster toggle.
as24ci_ai_assistant_language, as24ci_ai_assistant_tone, as24ci_ai_assistant_max_lengthGeneration parameters.
as24ci_ai_assistant_auto_generateGenerate descriptions automatically on import.
as24ci_ai_assistant_custom_promptOptional custom prompt template.
as24ci_ai_gen_alt_text, as24ci_ai_gen_seo, as24ci_ai_extract_highlightsAuxiliary auto-generation toggles.

Test Drive booking (optional)

Option keyPurpose
as24ci_test_drive_enabledMaster toggle.
as24ci_test_drive_available_daysComma-separated weekday numbers (0 = Sunday).
as24ci_test_drive_start_time, as24ci_test_drive_end_timeDaily time window in HH:MM.
as24ci_test_drive_slot_durationSlot duration in minutes.
as24ci_test_drive_blackout_datesSerialised list of blackout dates.

Search Alerts and feature toggles

Option keyPurpose
as24ci_feature_search_agentEnable Search Alerts (Smart Stock Alerts).
as24ci_feature_compareCompare buttons and compare page.
as24ci_feature_favoritesFavorites/wishlist.
as24ci_feature_schemaSchema.org and Open Graph metadata on single pages.
as24ci_feature_social_shareSocial sharing buttons.
as24ci_social_share_placementPlacement of the social sharing buttons on the single page.
as24ci_social_share_networksActive social networks for the sharing buttons.
as24ci_feature_sitemapSitemap integration.
as24ci_feature_dashboard_widgetAdmin dashboard widget.
as24ci_feature_lazy_loadingImage lazy loading.
as24ci_feature_bulk_actionsBulk actions on the vehicle list.
as24ci_feature_exportCSV/JSON export from Tools.
as24ci_feature_pdf_datasheetPDF datasheet download (master toggle for the frontend "Download PDF" button).
as24ci_pdf_manager_settingsArray of branding, layout, QR and content settings for the PDF datasheet output. Independent of as24ci_feature_pdf_datasheet.

Analytics

Option keyPurpose
as24ci_analytics_enabledMaster switch for analytics tracking.
as24ci_analytics_bi_enabledBI extended events (filter searches, contact opens, lead submissions).
as24ci_analytics_require_consentBlock tracking until visitor consent is granted.
as24ci_analytics_filter_minimizationStrip free-text search input before storing events.
as24ci_analytics_retention_daysRetention window for the analytics table (default 180).
as24ci_analytics_privacy_jurisdictionPrivacy law label (auto, gdpr, dsgvo, revdsg, uk_gdpr, generic).

Compare and financing

Option keyPurpose
as24ci_compare_max_vehiclesMaximum vehicles compared at once. Clamped between 2 and 8.
as24ci_financing_enabledEnable the Financing Calculator.
as24ci_financing_default_rateDefault annual interest rate (%). Allowed range 0–50.
as24ci_financing_default_monthsDefault loan term in months (12, 24, 36, 48, 60, 72, 84).
as24ci_financing_down_paymentDefault down payment (%). Allowed range 0–100.
as24ci_financing_placementbelow_gallery, sidebar or end_of_page.

Design and layout

The plugin exposes a large number of design options under the as24ci_design_*, as24ci_single_*, as24ci_archive_*, as24ci_fav_*, as24ci_comp_* and as24ci_badge_* prefixes. They control colours, typography, spacing, badge appearance and custom CSS. Refer to the constants in AS24CI\Options for the exhaustive list.

Page-level layout uses dedicated keys:

Option keyPurpose
as24ci_layout_manager_enabledMaster toggle for the Layout Manager.
as24ci_lm_zone_*, as24ci_lm_block_*Per-zone and per-block configuration.
as24ci_layout_archive_columnsNumber of columns on the archive grid (1–4, default 3).
as24ci_archive_default_sortDefault archive sort order (date_desc, price_asc, price_desc, mileage_asc).
as24ci_archive_per_pageVehicles displayed per page on the archive (default 24).
as24ci_archive_list_excerpt_lengthMaximum excerpt characters in List view (0–500, default 75; 0 hides the excerpt).
as24ci_layout_search_filtersActive filter blocks in the search-filters zone.
as24ci_layout_single_main, as24ci_layout_single_sidebar, as24ci_layout_single_bottomSingle-vehicle page composition.

Filters and field visibility

Option keyPurpose
as24ci_filters_enabledArray of enabled filter keys for the public archive (null means all enabled).
as24ci_field_visibilityPer-view visibility map for car_details, sidebar, compare and favorites.
as24ci_mapping_overridesPer-field label and visibility overrides for imported AS24 fields (serialised labels / visible maps).

Hub API and locations

Option keyPurpose
as24ci_hub_api_keyAPI key for the Hub / Market Insights integration. Sensitive.
as24ci_hub_target_marketTarget market code used by the Hub integration.
as24ci_locationsSerialised list of dealership locations (name, address, seller IDs, hours). Autoload off.

CMH Team

Option keyPurpose
as24ci_team_membersSerialised list of plugin-managed dealership team members (sales contacts). Autoload off.
as24ci_team_location_defaultsMap of AutoScout24 seller ID → default team member ID (location-level default contact). Autoload off.
as24ci_team_standardsGlobal fallback / general dealership contact settings (global default member ID and general contact data). Autoload off.
as24ci_team_rulesAutomatic assignment behaviour flags for CMH Team. Autoload off.

Data quality monitoring

Option keyPurpose
as24ci_dq_scan_enabledMaster toggle.
as24ci_dq_scan_frequencydaily or twicedaily.
as24ci_dq_scan_timeFirst-run time in HH:00 (WordPress site timezone).
as24ci_last_term_hash, as24ci_taxonomy_anomaliesInternal scan state.

Dealer profile

Collected by the Setup Wizard and reused by the PDF datasheet, contact boxes, structured data and locations. Stored as plain top-level options.

Option keyPurpose
as24ci_dealer_nameDealership name.
as24ci_dealer_streetStreet address.
as24ci_dealer_postal_codePostal/ZIP code.
as24ci_dealer_cityCity.
as24ci_dealer_countryCountry.
as24ci_dealer_phonePhone number.
as24ci_dealer_emailContact email.
as24ci_dealer_websiteWebsite URL.
as24ci_dealer_logo_idAttachment ID of the dealership logo.
as24ci_dealer_languagePreferred frontend language (site_default or a locale such as de_DE).

Setup Wizard

Option keyPurpose
as24ci_setup_wizard_completed1 once the setup wizard has been completed.
as24ci_setup_wizard_skipped1 if the setup wizard was skipped.
as24ci_setup_modeSelected setup mode.
as24ci_setup_completed_atTimestamp when setup was completed.
as24ci_setup_completed_byUser ID that completed setup.
as24ci_setup_first_activation_atTimestamp of the first plugin activation.

ENVKV (German energy labelling)

Option keyPurpose
as24ci_envkv_yearReference year for the ENVKV cost calculation.
as24ci_envkv_price_petrol, as24ci_envkv_price_diesel, as24ci_envkv_price_electricEnergy prices per fuel type.
as24ci_envkv_co2_price_low, as24ci_envkv_co2_price_med, as24ci_envkv_co2_price_highCO₂ price tiers.
as24ci_envkv_show_costs_100kmShow estimated costs per 100 km.

Content Studio (optional)

Content Studio is a bounded module with its own option keys (constants in includes/class-as24ci-content-studio-options.php, AS24CI\Content_Studio_Options).

Option keyPurpose
as24ci_content_studio_db_versionSchema version for the Content Studio custom tables.
as24ci_content_studio_google_api_keyCustomer-owned Google API key used by the Content Studio text client. Sensitive.
as24ci_content_studio_default_languageDefault output language for generated Copy Packages.
as24ci_content_studio_default_toneDefault tone for generated Copy Packages.
as24ci_content_studio_brand_voiceOptional dealer brand-voice style hint (max 800 chars).
as24ci_content_studio_disclaimer_textOptional mandatory disclaimer text for generated copy (max 500 chars).
as24ci_content_studio_compliance_notesOptional compliance notes for generated copy (max 1000 chars).

License activation

The plugin activates and re-validates its license against the ADP Car Market Hub API Platform. Only the license key and the refresh-signal secret are secrets (stored encrypted at rest via AS24CI\Secrets); every other key holds non-secret license state used to gate operational write features.

Option keyPurpose
as24ci_license_keyEncrypted API Platform license key (Secrets envelope). Sensitive.
as24ci_license_statusOperational license status (License_Manager::STATUS_*).
as24ci_license_last_checked_atUnix timestamp of the last successful API Platform answer (0 = never).
as24ci_license_last_errorLast license error as a stable code only.
as24ci_license_prefixSafe, non-secret license key prefix returned by the API Platform.
as24ci_license_planLicense plan label.
as24ci_license_support_untilISO timestamp until which support is included (informational).
as24ci_license_expires_atISO timestamp at which the license expires (informational).
as24ci_license_installation_uidInstallation UID issued by the API Platform on activation.
as24ci_license_manifestNon-secret manifest object returned by the API Platform.
as24ci_license_feature_rightsFeature-rights map returned by the API Platform.
as24ci_license_import_policyImport-policy object returned by the API Platform.
as24ci_license_normalized_domainNormalized domain the license was last activated/validated for.
as24ci_license_last_reported_versionPlugin version most recently confirmed reported to the API Platform.
as24ci_license_refresh_signal_secretEncrypted per-installation shared secret used to authenticate inbound license-refresh signals. Sensitive.

Managed AI credential (API Platform sync)

The customer Google Gemini credential is delivered server-to-server by the API Platform and managed by AS24CI\Ai_Credential_Manager. The Gemini key is stored only in an encrypted envelope; all other rows hold safe metadata for the admin status card.

Option keyPurpose
as24ci_ai_credential_envelopeEncrypted Gemini credential envelope. Never autoloaded, never rendered. Sensitive.
as24ci_ai_credential_providerRaw provider value returned by the API Platform (e.g. google / gemini).
as24ci_ai_credential_display_providerCustomer-facing provider label (always "Google Gemini").
as24ci_ai_credential_api_modelModel exactly as reported by the API Platform.
as24ci_ai_credential_effective_modelEffective runtime Gemini model after validation/fallback.
as24ci_ai_credential_fingerprintNon-secret fingerprint of the delivered credential (rotation marker).
as24ci_ai_credential_synced_atUnix timestamp of the last successful credential sync.
as24ci_ai_credential_checked_atUnix timestamp of the last sync attempt.
as24ci_ai_credential_statusLocal AI availability status string.
as24ci_ai_credential_last_errorLast non-sensitive sync error/decision reason code.
as24ci_ai_usage_reporting_requiredWhether the API Platform requires AI usage reporting.

Updates and update visibility

Safe, non-secret bookkeeping for the private update flow. None of these rows are autoloaded, and none store a signed package URL, signature, secret or license key.

Option keyPurpose
as24ci_update_last_check_diagLast private-update check diagnostic (non-secret metadata only).
as24ci_update_visibility_last_refresh_atUnix timestamp of the last visibility refresh attempt.
as24ci_update_visibility_last_refresh_reasonStable reason code for the last refresh decision.
as24ci_update_visibility_last_refresh_resultOutcome of the last refresh attempt (refreshed or skipped).
as24ci_update_visibility_last_skip_reasonStable reason code for the last skipped refresh.
as24ci_update_visibility_last_inconsistency_refresh_atTimestamp of the last refresh triggered to repair an inconsistent transient state.
as24ci_update_last_transient_snapshotSmall, safe snapshot of the update_plugins transient for this plugin.

Schema and migration tracking

Option keyPurpose
as24ci_db_versionOverall plugin data version.
as24ci_caps_versionCapability/role migration version.
as24ci_vehicles_db_version, as24ci_search_agent_db_version, as24ci_analytics_db_versionPer-table schema versions.

Do not edit these manually unless you intend to force a re-migration.

Operational notes

  • Sensitive values. Treat as24ci_client_secret, as24ci_cron_token, as24ci_webhook_secret, as24ci_hub_api_key and as24ci_content_studio_google_api_key as credentials. Do not commit them to source control or echo them in templates or logs. The encrypted-at-rest options as24ci_license_key, as24ci_license_refresh_signal_secret and as24ci_ai_credential_envelope are stored via AS24CI\Secrets. The managed Gemini key delivered at runtime is owned by AD Promotion in AS24CI\Ai_Config and is not stored as a plaintext WordPress option.
  • Boolean encoding. Most boolean toggles are stored as the strings '1' and '0'. Compare with strings or cast through (string) before comparing.
  • Filtering at runtime. Standard WordPress filters (option_<key>, pre_option_<key>, default_option_<key>) work for any option here. This is the recommended way to override values at deploy time without writing to the database.
  • Multisite. All keys above are per-site. Provision them on each site individually unless you have a network-wide automation in place.
  • Defaults. Default values are applied in code. The exact defaults can change between releases; verify against the current source before publishing.