Dokumentation · Systemanforderungen
WordPress-Anforderungen
Einführung
ADP Car Market Hub ist ein natives WordPress-Plugin. Es bringt kein eigenes CMS, keinen Page Builder und kein Front-End-Framework mit – stattdessen verlässt es sich auf Standard-WordPress-Mechanismen (Custom Post Types, Taxonomien, die Medienbibliothek, REST-API, WP-Cron, Capabilities und Nonces).
Dieses Dokument beschreibt alles, was ADP Car Market Hub von der WordPress-Installation erwartet, auf der es läuft: unterstützte WordPress-Versionen, erforderliche Administrator-Berechtigungen, Permalink-Verhalten, Nutzung der Medienbibliothek, Cron-Abhängigkeit und bekannte Kompatibilitätsaspekte.
Wann Sie dieses Dokument verwenden sollten
Verwenden Sie dieses Dokument, wenn Sie:
- Bestätigen müssen, dass eine bestehende WordPress-Website das Plugin hosten kann.
- Benutzerrollen und Capabilities für ein Garagen-Team konfigurieren.
- Permalink-, Medien- oder Caching-Einstellungen für eine neue Website planen.
- Die Plugin-Kompatibilität prüfen, bevor Sie zusätzliche Plugins neben ADP Car Market Hub installieren.
Übersicht
ADP Car Market Hub integriert sich wie folgt in WordPress:
- Registriert einen Custom Post Type
as24ci_carmit einer eigenen Capability-Map (as24ci_car/as24ci_cars) und 15 Fahrzeug-Taxonomien. - Registriert eine benutzerdefinierte Capability
manage_as24_importsund eine Rolle "AS24 Editor" für die delegierte Verwaltung; Administratoren behalten immer den vollen Zugriff. - Speichert Fahrzeugbilder als Standard-WordPress-Anhänge in der Medienbibliothek.
- Fügt eine Admin-Seite (das Menü "ADP Car Market Hub") mit mehreren Tabs hinzu (Einstellungen, Automatisierung, Mapping, AI Assistant, Systemstatus, Tools usw.).
- Verwendet WP-Cron für geplante Importe und stellt einen Token-gesicherten REST-Endpunkt unter
/as24ci/v1/cron-importfür externe Trigger bereit. - Fügt Shortcodes (Fahrzeug-Archiv, Vergleich, Favoriten usw.) und Template-Overrides unter
templates/hinzu, damit Themes das Front-End anpassen können. - Liest die Templates des aktiven Themes und die standardmässige
single-{post-type}.php/archive-{post-type}.php-Hierarchie aus.
Anforderungen
WordPress-Version
- Minimum: WordPress 6.2 (
Requires at least: 6.2im Plugin-Header undreadme.txt). - Getestet bis: WordPress 6.9 (
Tested up to: 6.9inreadme.txt). - Empfohlen: Führen Sie immer die neueste stabile WordPress-Version auf einem unterstützten Branch aus und halten Sie die Sicherheitsupdates für WordPress aktiviert.
Multisite
Das Plugin ist für Single-Site-WordPress-Installationen entwickelt und getestet. Die Netzwerkaktivierung über eine Multisite ist kein dokumentierter Anwendungsfall; installieren und aktivieren Sie es stattdessen auf den einzelnen Websites.
Administrator-Berechtigungen
Es sind zwei verschiedene Berechtigungsebenen beteiligt:
- Installation und globale Konfiguration erfordern
manage_options(d. h. einen Administrator). Das Plugin verwendetcurrent_user_can( 'manage_options' ), um Capability-Migrationen und potenziell gefährliche Tools abzusichern. - Die tägliche Plugin-Verwaltung wird durch die benutzerdefinierte Capability
manage_as24_importsgesteuert. Bei der Aktivierung gewährt das Plugin diese Capability (zusammen mit den vollständigenas24ci_car/as24ci_carsCPT-Capabilities) der Administrator-Rolle und der dafür erstellten dedizierten Rolle "AS24 Editor". Die standardmässige WordPress-Rolle "Redakteur" (Editor) erhält diese Capabilities absichtlich nicht. - Alle Admin-POST-Aktionen, AJAX-Handler und Dashboard-Widgets prüfen die Capability erneut und verifizieren einen WordPress-Nonce. Abgesicherte Websites (benutzerdefinierte Rollen, Rollenverwaltungs-Plugins, eingeschränkte Admin-Richtlinien) müssen daher jedem Benutzer, der Importe ausführen oder Plugin-Einstellungen ändern soll,
manage_as24_importsgewähren.
Permalinks
- "Sprechende Links" (Pretty Permalinks) müssen aktiviert sein. Jede Einstellung ausser "Einfach" (Plain) ist in Ordnung (Tag und Name, Monat und Name, Beitragsname, Benutzerdefiniert).
- Der Custom Post Type
as24ci_carwird mit Rewrite-Regeln registriert. Rufen Sie nach der Aktivierung des Plugins oder nach dem Ändern seiner Slug-Optionen einmal Einstellungen → Permalinks auf und klicken Sie auf Änderungen speichern, um die Rewrite-Regeln neu zu generieren (Flush). - Der Token-gesicherte REST-Endpunkt
/as24ci/v1/cron-importwird ebenfalls über die standardmässige WordPress-REST-API registriert und funktioniert, sobald die REST-API selbst erreichbar ist.
Medienbibliothek
- Fahrzeugbilder werden als Standard-WordPress-Anhänge importiert und in
wp-content/uploads/unter der normalen Jahr/Monat-Struktur abgelegt. - Das Plugin berücksichtigt die WordPress-Bildverarbeitungseinstellungen: Vorschaubildgrössen, Zwischengrössen, Bild-Editor (GD oder Imagick) und Upload-Pfade.
- Die optionale WebP-Konvertierung verwendet dieselbe Bildbibliothek (GD oder Imagick), für die WordPress konfiguriert ist.
- Eine Einstellung Max. Bilder pro Fahrzeug begrenzt, wie viele Anhänge pro Auto erstellt werden. Das Plugin dedupliziert Bilder anhand der Quell-URL, sodass Re-Importe keine Duplikate erzeugen.
- Das Löschen eines Fahrzeugs über das Plugin (oder über den Full Sync) entfernt auch die zugehörigen Anhänge, um die Medienbibliothek sauber zu halten.
- Hotlinking-Schutz, CDN-Offload-Plugins (z. B. das Verschieben von Uploads nach S3) und Bildoptimierer sind kompatibel, solange sie in den standardmässigen WordPress-Anhang-Lebenszyklus eingreifen.
Cron-Abhängigkeit
- Geplante Importe basieren auf WP-Cron. Das Plugin registriert ein zusätzliches Intervall (alle 6 Stunden) und ein konfigurierbares benutzerdefiniertes Intervall (mindestens 15 Minuten) zusätzlich zu den Standardwerten von WordPress.
- Websites mit geringem oder unvorhersehbarem Traffic sollten den standardmässigen Cron bei Seitenaufruf deaktivieren und WP-Cron über einen echten System-Cron (OS Cron) triggern oder den Token-gesicherten REST-Endpunkt
/as24ci/v1/cron-importüber einen externen Scheduler aufrufen. - Eine interne Importsperre (Transient, 40 Minuten TTL) verhindert, dass sich zwei Cron-Durchläufe überschneiden. Dadurch sind externe Trigger "alle 5 Minuten" sicher.
- Andere Cron-basierte Plugins (Action Scheduler, WooCommerce, Backup-Plugins) koexistieren ohne Konflikte; das Plugin verwendet seine eigenen dedizierten Hook-Namen unter dem Präfix
as24ci_.
Aspekte zur Plugin-Kompatibilität
- SEO-Plugins: Der AI Assistant schreibt Meta-Titel und Meta-Beschreibungen in den Formaten, die von Yoast SEO und Rank Math erwartet werden.
- Caching-Plugins: Page-Caches sind kompatibel. Schliessen Sie die WordPress-Admin-Seiten und die REST-Route
/as24ci/v1/cron-importvom Caching aus. Object-Caches (Redis, Memcached) werden über die standardmässige WordPress-Cache-API unterstützt. - Sicherheits-Plugins / WAFs: Erlauben Sie ausgehende HTTPS-Verbindungen zu AutoScout24 (und zum verwalteten Google Gemini-Endpunkt, wenn KI-Funktionen aktiviert sind) und blockieren Sie keine POST-Anfragen an die Admin-Seiten des Plugins oder an dessen REST-Endpunkt. Das Cron-Token muss wie im Tab "Import & Limits" dokumentiert in der Anfrage enthalten sein.
- Page Builder / Block-Themes: Einzelne Fahrzeugseiten und Archivseiten werden über Standard-WordPress-Templates und Shortcodes gerendert, sodass jedes Theme – ob klassisch oder blockbasiert –, das die Template-Hierarchie respektiert, funktioniert.
- Übersetzungs-Plugins: Das Plugin ist unter der Textdomain
adp-car-market-hub(languages/) vollständig internationalisiert. Übersetzungs-Plugins, die mit standardmässigen WordPress-Strings arbeiten, funktionieren wie erwartet.
Empfohlenes Produktions-Setup
- Neueste stabile WordPress-Version mit aktivierten automatischen Minor-Updates.
- Sprechende Links (Pretty Permalinks) eingestellt auf Beitragsname oder Benutzerdefiniert.
- Ein Administrator-Konto, das für die Plugin-Wartung reserviert ist, sowie ein oder mehrere "AS24 Editor"-Benutzer für die tägliche Arbeit.
- Ein echter Cron auf Betriebssystemebene, der
wp-cron.php(oder den REST-Cron-Endpunkt) alle 5–15 Minuten triggert, wobeiDISABLE_WP_CRONauftruegesetzt ist. - Ein Theme mit erstklassiger Unterstützung für Custom-Post-Type-Templates oder ein Child-Theme, das die Templates des Plugins bei Bedarf überschreibt.
- Object-Cache (Redis oder Memcached) auf stark frequentierten Websites, um Admin-Tabs zu beschleunigen, die Analysen oder Lead-Daten aggregieren.
Betriebliche Hinweise
- Generieren Sie die Rewrite-Regeln neu (Einstellungen → Permalinks → Änderungen speichern) nach jedem Plugin-Update, das die URL-Struktur ändert, oder nach der Migration zwischen Umgebungen.
- Das Plugin schreibt nur in seine eigenen Options-Keys (
as24ci_*), seine eigenen benutzerdefinierten Tabellen, die standardmässigen WordPress-Tabellen (posts/postmeta/terms) füras24ci_carund in die WordPress-Medienbibliothek. Das Entfernen des Plugins überuninstall.phpbereinigt seine eigenen Daten. - Die benutzerdefinierte Rolle "AS24 Editor" und die Capability
manage_as24_importswerden bei der Aktivierung und bei Upgrades der Capability-Version überPlugin::ensure_roles_and_caps()verwaltet; Administratoren, die Rollenverwaltungs-Plugins verwenden, sollten diese nicht löschen, während das Plugin aktiv ist. - Die Front-End-Ausgabe richtet sich nach dem aktiven Theme. Um Fahrzeug-Templates tiefgreifend anzupassen, kopieren Sie Dateien aus dem Verzeichnis
templates/des Plugins in Ihr Child-Theme.
Fehlerbehebung
- 404-Fehler auf dem Fahrzeug-Archiv oder auf Einzelseiten: Rufen Sie Einstellungen → Permalinks auf und klicken Sie auf Änderungen speichern. Vergewissern Sie sich, dass die Permalinks nicht auf "Einfach" eingestellt sind.
- Admin-Menü für einen Nicht-Admin-Benutzer nicht sichtbar: Überprüfen Sie, ob die Rolle des Benutzers über die Capability
manage_as24_importsverfügt. - Import-Buttons geben "Keine Berechtigung" (permission denied) oder Nonce-Fehler zurück: Laden Sie die Admin-Seite neu (Nonces laufen nach 24 Stunden ab) und bestätigen Sie, dass der Benutzer
manage_as24_importsbesitzt. - Geplante Importe werden nie ausgeführt: Vergewissern Sie sich, dass WP-Cron erreichbar ist, oder wechseln Sie zu einem externen Cron-Trigger (
wp-cron.phpoder dem REST-Endpunkt mit dem konfigurierten Token). - Bilder fehlen in der Medienbibliothek: Überprüfen Sie die Einstellung Max. Bilder pro Fahrzeug, den freien Speicherplatz auf der Festplatte und den Status der Bildwarteschlange im Tab "Import & Limits".
- REST-Endpunkt gibt 401 zurück: Stellen Sie sicher, dass die Anfrage das konfigurierte Cron-Token enthält und kein Sicherheits-Plugin Query- oder Header-Parameter herausfiltert.