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:

ShortcodeZweck
[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):

AttributWerteBeschreibung
makeSlug-StringVorfilterung nach Fahrzeugmarke.
modelSlug-StringVorfilterung nach Fahrzeugmodell.
price_minGanzzahl (Integer)Filter für Mindestpreis.
price_maxGanzzahl (Integer)Filter für Maximalpreis.
fuelSlug-StringVorfilterung nach Kraftstoffart.
bodySlug-StringVorfilterung nach Karosserieform.
order_byprice, mileage, dateSortierfeld. Standard: date.
orderasc, descSortierrichtung. Standard: asc.
per_page12, 24, 48, 72, allErgebnisse 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:

AttributWerteBeschreibung
results_urlURLDie 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_content verarbeiten

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_archive
  • as24ci_compare
  • as24ci_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.

  1. Gehen Sie zu Plugins → Installierte Plugins und bestätigen Sie, dass ADP Car Market Hub aktiv ist und keine Fehlermeldung anzeigt.
  2. 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:

  1. Bestätigen Sie, dass sich der Shortcode direkt in $post->post_content befindet. Wenn der Inhalt von einem Page Builder zusammengestellt wird, der Inhalte anders speichert (außerhalb von post_content), gibt has_shortcode() möglicherweise „false“ zurück und die Assets werden nicht in die Warteschlange eingereiht.
  2. Wenn Sie einen Page Builder verwenden, nutzen Sie dessen Shortcode-Block oder HTML-Block, um den Shortcode so einzubetten, dass er Teil von post_content wird.
  3. Ü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:

  1. Überprüfen Sie, ob das Attribut results_url auf die korrekte Seite verweist, auf der [as24ci_archive] eingebettet ist (oder auf die CPT-Archiv-URL).
  2. Wenn kein results_url angegeben ist, verwendet das Plugin get_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.
  3. 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=):

  1. Das Klicken auf Seite 2 sollte ?paged=2 an die Seiten-URL anhängen.
  2. Wenn die Seite weiterleitet, um Query-Parameter zu entfernen (einige Themes oder Caching-Plugins tun dies), funktioniert die Paginierung nicht mehr.
  3. Bestätigen Sie, dass die Permalink-Struktur nicht auf „Einfach“ eingestellt ist (einfache Permalinks verhindern ein ordnungsgemäßes Routing der Paginierung).
  4. Schließen Sie die Shortcode-Seite vom Page-Caching aus oder konfigurieren Sie den Cache so, dass er nach paged und 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:

  1. 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-benz und nicht Mercedes-Benz).
  2. 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.
  3. 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 eigene WP_Query und 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_query auslesen, 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 Attribut results_url oder der CPT-Archiv-URL festgelegt.

Fehlerbehebung

SymptomWahrscheinliche UrsachePrüfung
Shortcode als reiner Text sichtbarPlugin nicht aktiv oder Shortcode in nicht verarbeitetem KontextBestätigen Sie, dass das Plugin aktiv ist; verschieben Sie den Shortcode in post_content
Shortcode gibt nichts ausFalsch geschriebener Shortcode-Name; keine veröffentlichten FahrzeugeSchreibweise prüfen; bestätigen, dass Fahrzeuge existieren und veröffentlicht sind
Archiv-Grid wird gerendert, aber CSS fehlthas_shortcode() schlägt fehl, da sich der Inhalt außerhalb von post_content befindetPlatzieren Sie den Shortcode direkt in post_content, nicht in einem Builder-Feld
Filter funktionieren nichtFilter in den Einstellungen deaktiviert oder JS lädt nichtAktivieren Sie die Filter im Layout-Manager; überprüfen Sie die Browser-Konsole auf Fehler
Suchfilter leitet auf falsche Seite weiterAttribut results_url fehlt oder ist fehlerhaftSetzen Sie results_url auf die Seite mit [as24ci_archive]
Paginierung defektEinfache Permalinks oder Cache entfernt Query-ParameterWechseln Sie zu nicht-einfachen Permalinks; konfigurieren Sie Cache-Ausschlüsse
Vorfilterung nach Marke funktioniert nichtSlug-AbweichungVerwenden Sie den genauen Taxonomie-Slug, nicht das Anzeigename-Label

Zugehörige Dokumente