Dokumentation · Fehlerbehebung
Shortcode-Probleme
Dieses Dokument behandelt Probleme, die bei der Verwendung der Shortcodes des Plugins zur Einbettung von Fahrzeugdaten auf WordPress-Seiten oder -Beiträgen auftreten können.
Wann Sie dieses Dokument verwenden sollten
Lesen Sie dieses Dokument, wenn:
- Ein Shortcode als reiner Text dargestellt wird (das Shortcode-Tag ist auf der Seite anstelle der erwarteten Ausgabe sichtbar).
- Ein Shortcode nichts oder nur leeren Raum ausgibt.
- Das Fahrzeug-Grid gerendert wird, aber das Filtern, Sortieren oder die Paginierung nicht korrekt funktioniert.
- Der Suchfilter-Shortcode an die falsche Seite sendet oder nicht zu den Ergebnissen weiterleitet.
- Vom Shortcode benötigtes CSS oder JavaScript nicht auf der Seite geladen wird.
- Ein Shortcode in einem Kontext funktioniert (z. B. auf einer Standardseite), in einem anderen jedoch nicht (z. B. in einem Widget oder einem benutzerdefinierten Template).
Übersicht
Das Plugin registriert sechs Shortcodes. Die drei folgenden sind die Shortcodes für die Auflistung/Einbettung, die in diesem Dokument im Detail behandelt werden:
| Shortcode | Zweck |
|---|---|
[as24ci_archive] | Rendert das vollständige Fahrzeug-Grid mit Filtern, Sortierung und Paginierung. |
[as24ci_compare] | Rendert die Fahrzeug-Vergleichsansicht. |
[as24ci_search_filter] | Rendert nur das Suchfilter-Formular ohne Ergebnisse. Vorgesehen für die Verwendung auf einer Startseite oder Landingpage, um Besucher auf eine Ergebnisseite weiterzuleiten. |
Das Plugin registriert außerdem [as24ci_favorites] (die Seite für gespeicherte Fahrzeuge / Merkzettel), [as24ci_location_box] und [as24ci_hours_box] (Karten für Standort und Öffnungszeiten). Die Hinweise zur Platzierung und zum Verhalten „Shortcode wird als reiner Text angezeigt“ in diesem Dokument gelten für alle diese Shortcodes.
Shortcodes müssen im Feld für den Beitragsinhalt einer WordPress-Seite oder eines -Beitrags platziert werden. Sie werden von der standardmäßigen WordPress-Shortcode-API verarbeitet. Sie werden in Widgets, Template-Dateien, PHP-Code oder in Kontexten, in denen do_shortcode() nicht aufgerufen wird, nicht unterstützt.
Verfügbare Shortcodes und ihre Attribute
[as24ci_archive]
Rendert das Fahrzeugarchiv mit optionaler Vorfilterung.
Unterstützte Attribute (alle optional):
| Attribut | Werte | Beschreibung |
|---|---|---|
make | Slug-String | Vorfilterung nach Fahrzeugmarke. |
model | Slug-String | Vorfilterung nach Fahrzeugmodell. |
price_min | Ganzzahl (Integer) | Filter für Mindestpreis. |
price_max | Ganzzahl (Integer) | Filter für Maximalpreis. |
fuel | Slug-String | Vorfilterung nach Kraftstoffart. |
body | Slug-String | Vorfilterung nach Karosserieform. |
order_by | price, mileage, date | Sortierfeld. Standard: date. |
order | asc, desc | Sortierrichtung. Standard: asc. |
per_page | 12, 24, 48, 72, all | Ergebnisse pro Seite. Standard: 24. |
GET-Parameter in der URL überschreiben die Shortcode-Attribute. Dies bedeutet, dass das interaktive Filtern (bei dem das Filterformular an dieselbe Seite gesendet wird) auch dann korrekt funktioniert, wenn Shortcode-Attribute Standardwerte vorgeben.
Beispiel:
[as24ci_archive make="volkswagen" order_by="price" order="asc" per_page="24"]
[as24ci_compare]
Rendert die Fahrzeug-Vergleichsansicht. Im Plugin-Code sind keine Attribute definiert. Die Auswahl der zu vergleichenden Fahrzeuge wird über die Browsersitzung des Besuchers verwaltet (Cookies oder Local Storage – überprüfen Sie dieses Verhalten in der aktuellen Plugin-Version vor der Veröffentlichung).
Beispiel:
[as24ci_compare]
[as24ci_search_filter]
Rendert ein eigenständiges Suchfilter-Formular ohne Auflistung der Ergebnisse. Das Formular leitet beim Absenden auf eine Ergebnisseite weiter.
Unterstützte Attribute:
| Attribut | Werte | Beschreibung |
|---|---|---|
results_url | URL | Die Seite, auf der die Ergebnisse angezeigt werden. Standardmäßig die CPT-Archiv-URL (/cars/). |
Beispiel:
[as24ci_search_filter results_url="/inventory/"]
Wenn results_url weggelassen wird, versucht das Plugin, die CPT-Archiv-URL automatisch aufzulösen. Wenn die CPT-Archiv-URL nicht ermittelt werden kann (z. B. bei Verwendung von einfachen Permalinks), fällt das System auf /cars/ zurück.
Voraussetzungen
- Die Seite, die den Shortcode enthält, muss veröffentlicht und zugänglich sein.
- Für
[as24ci_archive]: Es muss mindestens ein veröffentlichter Fahrzeug-Beitrag existieren. - Die Permalinks dürfen nicht auf „Einfach“ eingestellt sein, damit die Paginierung und das saubere URL-Routing korrekt funktionieren.
Schritte zur Diagnose
Schritt 1: Bestätigen Sie, dass sich der Shortcode im Beitragsinhalt befindet
Shortcodes werden nur verarbeitet, wenn sie im standardmäßigen Bereich für den Beitragsinhalt (das Feld post_content) platziert sind. Sie werden nicht verarbeitet in:
- Widget-Bereichen (Text-Widgets, benutzerdefinierte HTML-Widgets)
- Benutzerdefinierten Feldern (Custom Fields), es sei denn,
do_shortcode()wird explizit für diese Felder aufgerufen - Theme-Template-PHP-Dateien, es sei denn,
do_shortcode()wird aufgerufen - Page-Builder-Elementen, die Inhalte unabhängig vom Filter
the_contentverarbeiten
Wenn der Shortcode als reiner Text erscheint ([as24ci_archive] ist auf der Seite sichtbar), stellen Sie sicher, dass er sich im Hauptteil des Beitrags befindet und nicht in einem benutzerdefinierten Feld oder einem Code-Block, der HTML maskiert.
Schritt 2: Überprüfen Sie die korrekte Schreibweise des Shortcode-Tags
Bei Shortcode-Namen wird auf Groß- und Kleinschreibung geachtet. Die korrekten Namen lauten:
as24ci_archiveas24ci_compareas24ci_search_filter
Ein falsch geschriebener Shortcode-Name führt dazu, dass nichts ausgegeben wird. Suchen Sie nach Tippfehlern, zusätzlichen Leerzeichen innerhalb der Klammern oder falschen Zeichen.
Schritt 3: Überprüfen Sie, ob das Plugin aktiv ist
Shortcodes werden registriert, wenn das Plugin geladen wird. Wenn das Plugin deaktiviert ist oder beim Laden einen schwerwiegenden Fehler verursacht, wird der Shortcode nicht registriert und gibt entweder sein Tag als reinen Text oder überhaupt nichts aus.
- Gehen Sie zu Plugins → Installierte Plugins und bestätigen Sie, dass ADP Car Market Hub aktiv ist und keine Fehlermeldung anzeigt.
- Gehen Sie zu Werkzeuge → Website-Zustand und suchen Sie nach kritischen Problemen.
Schritt 4: Überprüfen Sie, ob CSS und JavaScript geladen werden
Das Plugin reiht sein CSS und JavaScript für Seiten ein, die die Shortcodes [as24ci_archive] oder [as24ci_compare] enthalten. Es erkennt dies, indem es has_shortcode() für den post_content der aktuellen Seite aufruft.
Wenn die Assets nicht geladen werden:
- Bestätigen Sie, dass sich der Shortcode direkt in
$post->post_contentbefindet. Wenn der Inhalt von einem Page Builder zusammengestellt wird, der Inhalte anders speichert (außerhalb vonpost_content), gibthas_shortcode()möglicherweise „false“ zurück und die Assets werden nicht in die Warteschlange eingereiht. - Wenn Sie einen Page Builder verwenden, nutzen Sie dessen Shortcode-Block oder HTML-Block, um den Shortcode so einzubetten, dass er Teil von
post_contentwird. - Überprüfen Sie die Entwicklertools des Browsers auf JavaScript-Fehler, die das Laden des Filterformulars oder der Galerie verhindern könnten.
Schritt 5: Überprüfen Sie das Attribut results_url für [as24ci_search_filter]
Wenn das Suchfilter-Formular an die falsche Seite sendet oder einen 404-Fehler zurückgibt:
- Überprüfen Sie, ob das Attribut
results_urlauf die korrekte Seite verweist, auf der[as24ci_archive]eingebettet ist (oder auf die CPT-Archiv-URL). - Wenn kein
results_urlangegeben ist, verwendet das Pluginget_post_type_archive_link('as24ci_car'). Wenn dies nichts zurückgibt (was bei einfachen Permalinks passieren kann), fällt es auf/cars/zurück. Stellen Sie sicher, dass die Zielseite unter dieser URL existiert. - Wenn Sie eine reguläre WordPress-Seite als Ergebnisseite verwenden (nicht das CPT-Archiv), verwenden Sie den Permalink der Seite als
results_url.
Schritt 6: Paginierung bei über Shortcodes eingebetteten Archiven untersuchen
Auf einer Seite, die [as24ci_archive] verwendet, nutzt die Paginierung die Query-Parameter ?paged= (oder ?page=):
- Das Klicken auf Seite 2 sollte
?paged=2an die Seiten-URL anhängen. - Wenn die Seite weiterleitet, um Query-Parameter zu entfernen (einige Themes oder Caching-Plugins tun dies), funktioniert die Paginierung nicht mehr.
- Bestätigen Sie, dass die Permalink-Struktur nicht auf „Einfach“ eingestellt ist (einfache Permalinks verhindern ein ordnungsgemäßes Routing der Paginierung).
- Schließen Sie die Shortcode-Seite vom Page-Caching aus oder konfigurieren Sie den Cache so, dass er nach
pagedund Filter-Query-Parametern variiert.
Schritt 7: Vorfilterung mit Shortcode-Attributen überprüfen
Wenn der Shortcode [as24ci_archive] Attribute zur Vorfilterung von Ergebnissen verwendet (z. B. make="bmw"), der Filter jedoch nicht angewendet wird:
- Bestätigen Sie, dass der Attributwert mit dem tatsächlichen Slug eines Taxonomie-Begriffs übereinstimmt. Slugs sind in der Regel kleingeschrieben und enthalten Bindestriche anstelle von Leerzeichen (z. B.
mercedes-benzund nichtMercedes-Benz). - Denken Sie daran, dass GET-Parameter die Shortcode-Attribute überschreiben. Wenn der Besucher die Seite ohne URL-Parameter aufruft, gelten die Shortcode-Standardwerte. Wenn die URL Filterparameter enthält, haben diese Vorrang.
- Bestätigen Sie, dass der entsprechende Filter in den Filtereinstellungen des Plugins aktiviert ist. Deaktivierte Filter werden bei der durch GET-Parameter gesteuerten Filterung ignoriert, aber Überschreibungen durch Shortcode-Attribute umgehen die Prüfung auf aktivierte Filter und werden in jedem Fall angewendet.
Betriebliche Hinweise
- Der Shortcode
[as24ci_archive]erstellt eine eigeneWP_Queryund ersetzt vorübergehend die globale Variable$wp_query. Nach dem Rendern stellt er die ursprüngliche Abfrage wieder her. Wenn andere Plugins oder das Theme während des Render-Kontexts des Shortcodes$wp_queryauslesen, sehen sie möglicherweise unerwartete Werte. - Mehrere Shortcodes auf derselben Seite werden prinzipiell unterstützt, aber das Platzieren von zwei
[as24ci_archive]-Shortcodes auf derselben Seite ist keine empfohlene Konfiguration und kann zu unerwartetem Verhalten bei der Paginierung und dem Filterstatus führen. - Shortcodes dürfen nicht ineinander verschachtelt werden.
- Der Shortcode
[as24ci_search_filter]rendert nur das HTML des Filterformulars. Er enthält keine Ergebnisse und führt zum Zeitpunkt des Renderns keine Datenbankabfragen für Fahrzeugdaten durch. Die Formular-Aktions-URL und die versteckten Routing-Felder werden beim Rendern basierend auf dem Attributresults_urloder der CPT-Archiv-URL festgelegt.
Fehlerbehebung
| Symptom | Wahrscheinliche Ursache | Prüfung |
|---|---|---|
| Shortcode als reiner Text sichtbar | Plugin nicht aktiv oder Shortcode in nicht verarbeitetem Kontext | Bestätigen Sie, dass das Plugin aktiv ist; verschieben Sie den Shortcode in post_content |
| Shortcode gibt nichts aus | Falsch geschriebener Shortcode-Name; keine veröffentlichten Fahrzeuge | Schreibweise prüfen; bestätigen, dass Fahrzeuge existieren und veröffentlicht sind |
| Archiv-Grid wird gerendert, aber CSS fehlt | has_shortcode() schlägt fehl, da sich der Inhalt außerhalb von post_content befindet | Platzieren Sie den Shortcode direkt in post_content, nicht in einem Builder-Feld |
| Filter funktionieren nicht | Filter in den Einstellungen deaktiviert oder JS lädt nicht | Aktivieren Sie die Filter im Layout-Manager; überprüfen Sie die Browser-Konsole auf Fehler |
| Suchfilter leitet auf falsche Seite weiter | Attribut results_url fehlt oder ist fehlerhaft | Setzen Sie results_url auf die Seite mit [as24ci_archive] |
| Paginierung defekt | Einfache Permalinks oder Cache entfernt Query-Parameter | Wechseln Sie zu nicht-einfachen Permalinks; konfigurieren Sie Cache-Ausschlüsse |
| Vorfilterung nach Marke funktioniert nicht | Slug-Abweichung | Verwenden Sie den genauen Taxonomie-Slug, nicht das Anzeigename-Label |