Dokumentation · Fehlerbehebung
Shortcode-Probleme
Dieses Dokument behandelt Probleme, die auftreten können, wenn Sie die Shortcodes des Plugins verwenden, um Fahrzeugdaten auf WordPress-Seiten oder -Beiträgen einzubetten.
Wann Sie dieses Dokument lesen sollten
Lesen Sie dieses Dokument, wenn:
- Ein Shortcode als reiner Text gerendert wird (das Shortcode-Tag ist auf der Seite anstelle der erwarteten Ausgabe sichtbar).
- Ein Shortcode nichts oder nur leeren Raum ausgibt.
- Das Fahrzeug-Raster gerendert wird, aber das Filtern, Sortieren oder die Pagination nicht korrekt funktioniert.
- Der Suchfilter-Shortcode an die falsche Seite sendet oder nicht zu den Ergebnissen navigiert.
- CSS oder JavaScript, das vom Shortcode benötigt wird, 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 Listing-/Einbettungs-Shortcodes, die in diesem Dokument ausführlich behandelt werden:
| Shortcode | Zweck |
|---|---|
[as24ci_archive] | Rendert das vollständige Fahrzeug-Listing-Raster mit Filtern, Sortierung und Pagination. |
[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 ausserdem [as24ci_favorites] (die Seite für gespeicherte Fahrzeuge / Merkliste), [as24ci_location_box] und [as24ci_hours_box] (Standort- und Öffnungszeiten-Karten). 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 (post content) einer WordPress-Seite oder eines -Beitrags platziert werden. Sie werden von der standardmässigen WordPress-Shortcode-API verarbeitet. Sie werden in Widgets, Template-Dateien, PHP-Code oder 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 | Integer | Minimaler Preisfilter. |
price_max | Integer | Maximaler Preisfilter. |
fuel | Slug-String | Vorfilterung nach Kraftstoffart. |
body | Slug-String | Vorfilterung nach Karosserietyp. |
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 Listing-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ässig 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 es 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" (Plain) eingestellt sein, damit die Pagination und das saubere URL-Routing korrekt funktionieren.
Diagnoseschritte
Schritt 1: Bestätigen Sie, dass sich der Shortcode im Beitragsinhalt befindet
Shortcodes werden nur verarbeitet, wenn sie im standardmässigen 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 - PHP-Dateien des Theme-Templates, 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 Code-Block, der HTML maskiert.
Schritt 2: Überprüfen Sie die korrekte Schreibweise des Shortcode-Tags
Bei Shortcode-Namen wird auf Gross- 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 beim Laden des Plugins registriert. Wenn das Plugin deaktiviert ist oder beim Laden einen fatalen 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 seine CSS- und JavaScript-Dateien 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:
- Stellen Sie sicher, dass sich der Shortcode direkt in
$post->post_contentbefindet. Wenn der Inhalt von einem Page Builder zusammengestellt wird, der Inhalte anders speichert (ausserhalb 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. - Suchen Sie in den Entwicklertools des Browsers nach JavaScript-Fehlern, die das Initialisieren 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), nutzen Sie den Permalink der Seite als
results_url.
Schritt 6: Untersuchen Sie die Pagination bei über Shortcodes eingebetteten Archiven
Auf einer Seite, die [as24ci_archive] verwendet, nutzt die Pagination 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 Pagination nicht mehr.
- Bestätigen Sie, dass die Permalink-Struktur nicht auf "Einfach" eingestellt ist (einfache Permalinks verhindern ein ordnungsgemässes Routing der Pagination).
- Schliessen Sie die Shortcode-Seite vom Page-Caching aus oder konfigurieren Sie den Cache so, dass er nach
pagedund Filter-Query-Parametern variiert.
Schritt 7: Überprüfen Sie die Vorfilterung mit Shortcode-Attributen
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-benzstattMercedes-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 Filter-Parameter enthält, haben diese Vorrang.
- Bestätigen Sie, dass der entsprechende Filter in den Filtereinstellungen des Plugins aktiviert ist. Deaktivierte Filter werden bei der filtergesteuerten GET-Parameter-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 seine eigeneWP_Queryund ersetzt vorübergehend die globale$wp_query. Nach dem Rendern stellt er die ursprüngliche Abfrage wieder her. Wenn andere Plugins oder das Theme während des Shortcode-Render-Kontexts$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 Pagination 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 Render-Zeitpunkt keine Datenbankabfragen für Fahrzeugdaten durch. Die Formular-Aktions-URL und die versteckten Routing-Felder werden zum Render-Zeitpunkt 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 nach 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-Raster wird gerendert, aber CSS fehlt | has_shortcode() schlägt fehl, da sich der Inhalt ausserhalb 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 | Filter im Layout Manager aktivieren; Browser-Konsole auf Fehler prüfen |
| Suchfilter leitet auf falsche Seite weiter | Attribut results_url fehlt oder ist fehlerhaft | Setzen Sie results_url auf die Seite mit [as24ci_archive] |
| Pagination defekt | Einfache Permalinks oder Cache entfernt Query-Parameter | Zu nicht-einfachen Permalinks wechseln; Cache-Ausschlüsse konfigurieren |
| Vorfilterung nach Marke funktioniert nicht | Slug-Abweichung | Verwenden Sie den genauen Taxonomie-Slug, nicht das Anzeigename-Label |