Documentation · System Requirements
WordPress Requirements
Introduction
ADP Car Market Hub is a native WordPress plugin. It does not bundle its own CMS, page builder or front-end framework — instead, it relies on standard WordPress mechanisms (custom post types, taxonomies, the media library, REST API, WP-Cron, capabilities and nonces).
This document describes everything ADP Car Market Hub expects from the WordPress installation it runs on: supported WordPress versions, required administrator permissions, permalink behaviour, media library usage, cron dependency and known compatibility considerations.
When to use this document
Use this document when you:
- Need to confirm that an existing WordPress site can host the plugin.
- Are configuring user roles and capabilities for a dealership team.
- Are planning permalink, media or caching settings for a new site.
- Are auditing plugin compatibility before installing additional plugins alongside ADP Car Market Hub.
Overview
ADP Car Market Hub integrates with WordPress as follows:
- Registers a custom post type
as24ci_carwith its own capability map (as24ci_car/as24ci_cars) and 15 vehicle taxonomies. - Registers a custom capability
manage_as24_importsand an "AS24 Editor" role for delegated management; administrators always retain full access. - Stores vehicle images as standard WordPress attachments in the media library.
- Adds an admin page (the "ADP Car Market Hub" menu) with multiple tabs (Settings, Automation, Mapping, AI Assistant, Health, Tools, etc.).
- Uses WP-Cron for scheduled imports and exposes a token-secured REST endpoint at
/as24ci/v1/cron-importfor external triggers. - Adds shortcodes (car archive, compare, favorites, etc.) and template overrides under
templates/so themes can customise the front-end. - Reads the active theme's templates and the standard
single-{post-type}.php/archive-{post-type}.phphierarchy.
Requirements
WordPress version
- Minimum: WordPress 6.2 (
Requires at least: 6.2in the plugin header andreadme.txt). - Tested up to: WordPress 6.9 (
Tested up to: 6.9inreadme.txt). - Recommended: Always run the latest stable WordPress release on a supported branch and keep WordPress security updates enabled.
Multisite
The plugin is built and tested for single-site WordPress installations. Network activation across a Multisite is not a documented use case; install and activate it on individual sites instead.
Administrator permissions
Two distinct permission layers are involved:
- Installation and global configuration require
manage_options(i.e. an Administrator). The plugin usescurrent_user_can( 'manage_options' )to gate capability migrations and dangerous tools. - Day-to-day plugin management is gated by the custom capability
manage_as24_imports. On activation, the plugin grants this capability (together with the fullas24ci_car/as24ci_carsCPT capabilities) to the Administrator role and to the dedicated "AS24 Editor" role it creates. The standard WordPress "Editor" role does not receive these capabilities by design. - All admin POST actions, AJAX handlers and dashboard widgets re-check the capability and verify a WordPress nonce. Hardened sites (custom roles, role-management plugins, restricted admin policies) must therefore grant
manage_as24_importsto any user that should be able to run imports or change plugin settings.
Permalinks
- Pretty permalinks must be enabled. Any setting other than "Plain" is fine (Day and name, Month and name, Post name, Custom).
- The custom post type
as24ci_caris registered with rewrite rules. After activating the plugin or changing its slug-related options, visit Settings → Permalinks and click Save Changes once to flush rewrite rules. - The token-secured REST endpoint
/as24ci/v1/cron-importis also registered through the standard WordPress REST API and will work as soon as the REST API itself is reachable.
Media library
- Vehicle images are imported as standard WordPress attachments and stored in
wp-content/uploads/under the normal year/month structure. - The plugin honours WordPress image-handling settings: thumbnail sizes, intermediate sizes, image editor (GD or Imagick) and uploads paths.
- Optional WebP conversion uses the same image library (GD or Imagick) WordPress is configured to use.
- A Max images per vehicle setting limits how many attachments are created per car. The plugin deduplicates images by source URL so re-imports do not create duplicates.
- Deleting a vehicle through the plugin (or via Full Sync) also removes the associated attachments to keep the media library tidy.
- Hot-link prevention, CDN offload plugins (e.g. moving uploads to S3) and image optimisers are compatible as long as they hook into the standard WordPress attachment lifecycle.
Cron dependency
- Scheduled imports rely on WP-Cron. The plugin registers an extra interval (every 6 hours) and a configurable custom interval (minimum 15 minutes) on top of the WordPress defaults.
- Sites with low or unpredictable traffic should disable the default page-load cron and trigger WP-Cron from a real OS cron, or call the token-secured REST endpoint
/as24ci/v1/cron-importfrom an external scheduler. - An internal import lock (transient, 40-minute TTL) prevents two cron runs from overlapping. This makes "every-5-minutes" external triggers safe.
- Other cron-based plugins (Action Scheduler, WooCommerce, backup plugins) coexist without conflict; the plugin uses its own dedicated hook names under the
as24ci_prefix.
Plugin compatibility considerations
- SEO plugins: The AI Assistant writes meta titles and meta descriptions in the formats expected by Yoast SEO and Rank Math.
- Caching plugins: Page caches are compatible. Exclude WordPress admin pages and the
/as24ci/v1/cron-importREST route from caching. Object caches (Redis, Memcached) are supported via the standard WordPress cache API. - Security plugins / WAFs: Allow outbound HTTPS to AutoScout24 (and to the managed Google Gemini endpoint when AI features are enabled) and do not block POST requests to the plugin's admin pages or to its REST endpoint. The cron token must be included in the request as documented in the Import & Limits tab.
- Page builders / block themes: Single-vehicle and archive pages render through standard WordPress templates and shortcodes, so any theme — classic or block-based — that respects the template hierarchy will work.
- Translation plugins: The plugin is fully internationalised under the
adp-car-market-hubtext domain (languages/). Translation plugins that operate on standard WordPress strings work as expected.
Recommended production setup
- Latest stable WordPress release with automatic minor updates enabled.
- Pretty permalinks set to Post name or Custom.
- Administrator account dedicated to plugin maintenance, plus one or more "AS24 Editor" users for day-to-day work.
- A real OS-level cron triggering
wp-cron.php(or the REST cron endpoint) every 5–15 minutes, withDISABLE_WP_CRONset totrue. - A theme with first-class support for custom post type templates, or a child theme that overrides the plugin's templates as needed.
- Object cache (Redis or Memcached) on busy sites to speed up admin tabs that aggregate analytics or lead data.
Operational notes
- Re-flush rewrite rules (Settings → Permalinks → Save) after every plugin update that changes URL structure or after migrating between environments.
- The plugin only writes to its own options keys (
as24ci_*), its own custom tables, the standard WordPress posts/postmeta/term tables foras24ci_car, and to the WordPress media library. Removing the plugin viauninstall.phpcleans up its own data. - The custom "AS24 Editor" role and
manage_as24_importscapability are managed throughPlugin::ensure_roles_and_caps()on activation and on capability-version upgrades; reviewers using role-management plugins should not delete them while the plugin is active. - Front-end output respects the active theme. To deeply customise vehicle templates, copy files from the plugin's
templates/directory into your child theme.
Troubleshooting
- 404 on vehicle archive or single pages: Visit Settings → Permalinks and click Save. Confirm pretty permalinks are not set to "Plain".
- Admin menu not visible to a non-admin user: Verify the user's role has the
manage_as24_importscapability. - Import buttons return "permission denied" or nonce errors: Reload the admin page (nonces expire after 24 h) and confirm the user holds
manage_as24_imports. - Scheduled imports never run: Confirm WP-Cron is reachable, or switch to an external cron trigger (
wp-cron.phpor the REST endpoint with the configured token). - Images are missing from the media library: Check the Max images per vehicle setting, free disk space and the image queue status in the Import & Limits tab.
- REST endpoint returns 401: Ensure the request includes the configured cron token and that no security plugin is stripping query/header parameters.