Documentatie · Probleemoplossing

Shortcode-problemen

Dit document behandelt problemen die kunnen optreden bij het gebruik van de shortcodes van de plugin om voertuigoverzichten in te sluiten op WordPress pagina's of berichten.

Wanneer u dit document moet gebruiken

Lees dit document wanneer:

  • Een shortcode als platte tekst wordt weergegeven (de shortcode-tag is zichtbaar op de pagina in plaats van de verwachte uitvoer).
  • Een shortcode niets of een lege ruimte uitvoert.
  • Het voertuigraster wordt weergegeven, maar filteren, sorteren of paginering niet correct werkt.
  • De shortcode voor het zoekfilter naar de verkeerde pagina verzendt of niet naar de resultaten navigeert.
  • CSS of JavaScript die vereist is voor de shortcode niet op de pagina wordt geladen.
  • Een shortcode wel werkt in de ene context (bijv. een standaardpagina) maar niet in een andere (bijv. een widget of een aangepast sjabloon).

Overzicht

De plugin registreert zes shortcodes. De drie hieronder zijn de shortcodes voor weergave/insluiting die in dit document in detail worden behandeld:

ShortcodeDoel
[as24ci_archive]Rendert het volledige voertuigraster met filters, sortering en paginering.
[as24ci_compare]Rendert de voertuigvergelijking.
[as24ci_search_filter]Rendert alleen het zoekfilterformulier, zonder resultaten. Bedoeld voor gebruik op een homepage of landingspagina om bezoekers naar een resultatenpagina te leiden.

De plugin registreert ook [as24ci_favorites] (de pagina met opgeslagen voertuigen / verlanglijst), [as24ci_location_box] en [as24ci_hours_box] (locatie- en openingstijdenkaarten). De richtlijnen voor plaatsing en "shortcode wordt als platte tekst weergegeven" in dit document zijn op al deze shortcodes van toepassing.

Shortcodes moeten in het veld voor de berichtinhoud van een WordPress pagina of bericht worden geplaatst. Ze worden verwerkt door de standaard WordPress shortcode-API. Ze worden niet ondersteund in widgets, sjabloonbestanden, PHP-code of contexten waarin do_shortcode() niet wordt aangeroepen.

Beschikbare shortcodes en hun attributen

[as24ci_archive]

Rendert het voertuigarchief met optionele vooraf-filtering.

Ondersteunde attributen (allemaal optioneel):

AttribuutWaardenBeschrijving
makeSlug-stringVooraf filteren op voertuigmerk.
modelSlug-stringVooraf filteren op voertuigmodel.
price_minGeheel getalMinimum prijsfilter.
price_maxGeheel getalMaximum prijsfilter.
fuelSlug-stringVooraf filteren op brandstoftype.
bodySlug-stringVooraf filteren op carrosserietype.
order_byprice, mileage, dateSorteerveld. Standaard: date.
orderasc, descSorteerrichting. Standaard: asc.
per_page12, 24, 48, 72, allResultaten per pagina. Standaard: 24.

GET-parameters in de URL overschrijven shortcode-attributen. Dit betekent dat interactief filteren (waarbij het filterformulier naar dezelfde pagina verzendt) correct werkt, zelfs wanneer shortcode-attributen standaardwaarden leveren.

Voorbeeld:

[as24ci_archive make="volkswagen" order_by="price" order="asc" per_page="24"]

[as24ci_compare]

Rendert de voertuigvergelijking. Er zijn geen attributen gedefinieerd in de plugin-code. De set met te vergelijken voertuigen wordt beheerd door de browsersessie van de bezoeker (cookies of lokale opslag — controleer dit gedrag in de huidige plugin-versie alvorens te publiceren).

Voorbeeld:

[as24ci_compare]

[as24ci_search_filter]

Rendert een zelfstandig zoekfilterformulier zonder resultatenlijst. Het formulier verwijst bij verzending door naar een resultatenpagina.

Ondersteunde attributen:

AttribuutWaardenBeschrijving
results_urlURLDe pagina waar de resultaten worden weergegeven. Standaard ingesteld op de CPT-archief-URL (/cars/).

Voorbeeld:

[as24ci_search_filter results_url="/inventory/"]

Als results_url wordt weggelaten, probeert de plugin de CPT-archief-URL automatisch op te lossen. Als de CPT-archief-URL niet kan worden bepaald (bijvoorbeeld bij het gebruik van eenvoudige permalinks), valt deze terug op /cars/.

Vereisten

  • De pagina die de shortcode bevat, moet gepubliceerd en toegankelijk zijn.
  • Voor [as24ci_archive]: er moet ten minste één gepubliceerd voertuigbericht bestaan.
  • Permalinks mogen niet zijn ingesteld op "Eenvoudig" (Plain) om paginering en schone URL-routing correct te laten functioneren.

Diagnostische stappen

Stap 1: Bevestig dat de shortcode in de berichtinhoud staat

Shortcodes worden alleen verwerkt wanneer ze in het standaardgebied voor de berichtinhoud (het veld post_content) zijn geplaatst. Ze worden niet verwerkt in:

  • Widgetgebieden (tekstwidgets, aangepaste HTML-widgets)
  • Aangepaste velden, tenzij do_shortcode() expliciet wordt aangeroepen op die velden
  • PHP-sjabloonbestanden van het thema, tenzij do_shortcode() wordt aangeroepen
  • Elementen van paginabouwers die inhoud onafhankelijk van het filter the_content verwerken

Als de shortcode als platte tekst verschijnt ([as24ci_archive] is zichtbaar op de pagina), controleer dan of deze in de berichtinhoud staat en niet in een aangepast veld of codeblok dat HTML escaped.

Stap 2: Bevestig dat de shortcode-tag correct is gespeld

Shortcode-namen zijn hoofdlettergevoelig. De juiste namen zijn:

  • as24ci_archive
  • as24ci_compare
  • as24ci_search_filter

Een verkeerd gespelde shortcode-naam zal niets uitvoeren. Controleer op typefouten, extra spaties binnen de haken of onjuiste tekens.

Stap 3: Controleer of de plugin actief is

Shortcodes worden geregistreerd wanneer de plugin wordt geladen. Als de plugin is gedeactiveerd of een fatale fout heeft bij het laden, wordt de shortcode niet geregistreerd en wordt de tag als platte tekst of helemaal niets weergegeven.

  1. Ga naar Plugins → Geïnstalleerde plugins en controleer of ADP Car Market Hub actief is en geen foutmeldingen vertoont.
  2. Ga naar Gereedschap → Sitetoezicht en controleer op kritieke problemen.

Stap 4: Controleer of CSS en JavaScript worden geladen

De plugin laadt zijn CSS en JavaScript voor pagina's die de shortcodes [as24ci_archive] of [as24ci_compare] bevatten. De plugin detecteert dit door has_shortcode() aan te roepen op de post_content van de huidige pagina.

Als de bestanden niet worden geladen:

  1. Bevestig dat de shortcode rechtstreeks in $post->post_content staat. Als de inhoud wordt samengesteld door een paginabouwer die inhoud anders opslaat (buiten post_content), kan has_shortcode() onwaar retourneren en worden de bestanden niet geladen.
  2. Als u een paginabouwer gebruikt, gebruik dan het shortcode-blok of HTML-blok om de shortcode zo in te sluiten dat deze deel uitmaakt van post_content.
  3. Controleer de ontwikkelaarstools van de browser op JavaScript-fouten die kunnen voorkomen dat het filterformulier of de galerij wordt geïnitialiseerd.

Stap 5: Controleer het attribuut results_url voor [as24ci_search_filter]

Als het zoekfilterformulier naar de verkeerde pagina verzendt of een 404-fout retourneert:

  1. Controleer of het attribuut results_url naar de juiste pagina verwijst waar [as24ci_archive] is ingesloten (of naar de CPT-archief-URL).
  2. Als er geen results_url is opgegeven, gebruikt de plugin get_post_type_archive_link('as24ci_car'). Als dit niets retourneert (wat kan gebeuren bij eenvoudige permalinks), valt het terug op /cars/. Zorg ervoor dat de doelpagina op die URL bestaat.
  3. Wanneer u een gewone WordPress pagina gebruikt als resultatenpagina (niet het CPT-archief), gebruik dan de permalink van de pagina als results_url.

Stap 6: Onderzoek paginering bij archieven die met shortcodes zijn ingesloten

Op een pagina die [as24ci_archive] gebruikt, maakt paginering gebruik van de queryparameters ?paged= (of ?page=):

  1. Klikken op pagina 2 zou ?paged=2 aan de pagina-URL moeten toevoegen.
  2. Als de pagina doorverwijst om queryparameters te verwijderen (sommige thema's of caching-plugins doen dit), zal de paginering niet werken.
  3. Controleer of de permalink-structuur niet is ingesteld op "Eenvoudig" (eenvoudige permalinks verhinderen een correcte routering van de paginering).
  4. Sluit de shortcode-pagina uit van paginacaching, of configureer de cache zo dat deze varieert op basis van paged en filter-queryparameters.

Stap 7: Controleer vooraf-filtering met shortcode-attributen

Als de shortcode [as24ci_archive] attributen gebruikt om resultaten vooraf te filteren (bijv. make="bmw") maar het filter wordt niet toegepast:

  1. Controleer of de attribuutwaarde overeenkomt met de werkelijke slug van een taxonomie-term. Slugs zijn doorgaans in kleine letters met koppeltekens in plaats van spaties (bijv. mercedes-benz en niet Mercedes-Benz).
  2. Houd er rekening mee dat GET-parameters shortcode-attributen overschrijven. Als de bezoeker naar de pagina navigeert zonder URL-parameters, zijn de standaardwaarden van de shortcode van toepassing. Als de URL filterparameters bevat, hebben deze voorrang.
  3. Controleer of het desbetreffende filter is ingeschakeld in de filterinstellingen van de plugin. Uitgeschakelde filters worden genegeerd bij filteren op basis van GET-parameters, maar overschrijvingen via shortcode-attributen omzeilen de controle op ingeschakelde filters en worden in elk geval toegepast.

Operationele opmerkingen

  • De shortcode [as24ci_archive] maakt zijn eigen WP_Query aan en vervangt tijdelijk de globale $wp_query. De oorspronkelijke query wordt na het renderen hersteld. Als andere plugins of het thema $wp_query lezen tijdens de render-context van de shortcode, kunnen ze onverwachte waarden tegenkomen.
  • Meerdere shortcodes op dezelfde pagina worden in principe ondersteund, maar het plaatsen van twee [as24ci_archive] shortcodes op dezelfde pagina is geen aanbevolen configuratie en kan onverwacht gedrag veroorzaken met de paginering en filterstatus.
  • Shortcodes mogen niet in elkaar worden genest.
  • De shortcode [as24ci_search_filter] rendert alleen de HTML van het filterformulier. Deze bevat geen resultaten en voert tijdens het renderen geen database-query's uit voor voertuiggegevens. De actie-URL van het formulier en de verborgen routeringsvelden worden tijdens het renderen ingesteld op basis van het attribuut results_url of de CPT-archief-URL.

Probleemoplossing

SymptoomWaarschijnlijke oorzaakControle
Shortcode zichtbaar als platte tekstPlugin niet actief, of shortcode in niet-verwerkte contextBevestig dat de plugin actief is; verplaats de shortcode naar post_content
Shortcode voert niets uitVerkeerd gespelde shortcode-naam; geen gepubliceerde voertuigenControleer de spelling; bevestig dat er voertuigen bestaan en zijn gepubliceerd
Archiefgrid rendert maar CSS ontbreekthas_shortcode() mislukt omdat inhoud buiten post_content staatPlaats de shortcode rechtstreeks in post_content, niet in een veld van de paginabouwer
Filters werken nietFilter uitgeschakeld in instellingen, of JS laadt nietSchakel filters in via de Layout Manager; controleer de browserconsole op fouten
Zoekfilter verwijst naar verkeerde paginaAttribuut results_url ontbreekt of is onjuistStel results_url in op de pagina met [as24ci_archive]
Paginering werkt nietEenvoudige permalinks, of cache verwijdert queryparametersSchakel over naar niet-eenvoudige permalinks; configureer cache-uitsluitingen
Vooraf filteren op merk werkt nietSlug komt niet overeenGebruik de exacte taxonomie-slug, niet het weergavelabel

Gerelateerde documenten