Documentation · Documentation technique

Shortcodes

Ce document répertorie les shortcodes enregistrés par le plugin ADP Car Market Hub, leurs attributs et les cas d'utilisation typiques pour intégrer le rendu du plugin dans des pages WordPress ordinaires.

Quand utiliser ce document

Lisez ce document si vous devez :

  • Intégrer l'archive de véhicules, le filtre de recherche ou la vue comparative au sein d'une page d'atterrissage existante, au lieu de vous appuyer sur l'archive CPT.
  • Ajouter une page de favoris à une page WordPress normale.
  • Placer une carte d'emplacement ou une carte d'heures d'ouverture sur les pages des concessionnaires.
  • Consulter les attributs pris en charge pour un shortcode existant.

Pour le flux de chargement des modèles sous-jacent, consultez le Système de modèles frontend.

Aperçu

Le plugin enregistre les shortcodes suivants :

ShortcodeRendu
[as24ci_archive]L'archive de véhicules (filtrable, triable, paginée).
[as24ci_search_filter]Le formulaire de filtre de recherche autonome, sans résultats.
[as24ci_compare]La page de comparaison de véhicules.
[as24ci_favorites]La page des favoris du visiteur.
[as24ci_location_box]Une carte d'emplacement pour une seule publication d'emplacement.
[as24ci_hours_box]Une carte d'heures d'ouverture pour une seule publication d'emplacement.

Tous les shortcodes peuvent être placés dans des pages standard, des publications et la plupart des contenus basés sur des blocs. Ils utilisent les mêmes modèles et ressources que les pages natives du plugin.

Référence des shortcodes

[as24ci_archive]

Affiche l'archive de véhicules sur n'importe quelle page.

  • Comportement : Construit une WP_Query à partir des paramètres $_GET via la même logique que celle utilisée par l'archive CPT (Archive_Filters::build_query_args_from_request()), permute temporairement la variable globale $wp_query et restitue le modèle archive-as24ci_car.php fourni. La requête d'origine est restaurée ensuite.
  • Attributs (tous facultatifs, tous surchargeables par URL) :
  • make, model — marque / modèle prédéfinis.
  • price_min, price_max — limites de la plage de prix (mappées sur min_price, max_price).
  • fuel, body — slugs de type de carburant et de carrosserie.
  • order_byprice, mileage ou date. Combiné avec order pour produire le paramètre sort.
  • orderasc (par défaut) ou desc.
  • per_page12, 24, 48, 72 ou all.
  • Les paramètres d'URL surchargent les attributs afin que les visiteurs puissent affiner leur recherche de manière interactive.
  • Pagination : lit ?paged= (préféré) ou ?page= depuis l'URL.

[as24ci_search_filter]

Affiche le formulaire de filtre de recherche (sans résultats) afin que les visiteurs puissent choisir des critères avant d'être redirigés vers une page de résultats.

  • Attributs :
  • results_url — URL vers laquelle le formulaire est soumis. Par défaut, l'URL de l'archive du type de publication as24ci_car, avec un repli final vers /cars/ lorsqu'aucune URL d'archive n'est disponible.
  • Ensemble de filtres : seuls les filtres activés dans la zone de mise en page Filtres de recherche sont affichés. Gérez-les dans la configuration des Filtres de l'administration.
  • Compteurs de statut : le formulaire affiche les compteurs en direct pour tous, neufs et d'occasion en utilisant la même requête basée sur la taxonomie que celle utilisée par l'archive, garantissant ainsi la cohérence entre les compteurs et les résultats.

[as24ci_compare]

Affiche la page de comparaison de véhicules (page-as24ci_compare.php).

  • Sélection : les véhicules sont sélectionnés via le paramètre GET ids (ID de publications séparés par des virgules).
  • Attributs : aucun documenté dans la source actuelle ; vérifiez avant de publier si vous avez l'intention d'exposer des attributs.

[as24ci_favorites]

Affiche la page des favoris du visiteur. La liste des favoris est stockée côté client dans le navigateur du visiteur ; le shortcode (et son point de terminaison REST compagnon) hydrate cette liste avec les données actuelles du véhicule.

  • Comportement : met en file d'attente la feuille de style des favoris à la demande, et hydrate les données du véhicule à partir de POST /wp-json/as24ci/v1/favorites.
  • Champs visibles : configurés par la zone de mise en page Favoris dans la configuration des Filtres de l'administration.

[as24ci_location_box]

Affiche une carte récapitulative d'emplacement pour une seule publication d'emplacement.

  • Attributs :
  • post_id — ID de la publication d'emplacement à afficher. S'il est omis, le shortcode tente de résoudre l'emplacement à partir du contexte actuel.

[as24ci_hours_box]

Affiche une carte des heures d'ouverture pour une seule publication d'emplacement.

  • Attributs :
  • post_id — ID de la publication d'emplacement à afficher. Même comportement de repli que [as24ci_location_box].

Instructions étape par étape

  1. Ouvrez ou créez la page dans laquelle vous souhaitez intégrer le shortcode.
  2. Ajoutez le bloc de shortcode (ou collez la chaîne du shortcode dans un éditeur classique).
  3. Définissez les attributs dont vous avez besoin. Par exemple : - [as24ci_archive make="audi" per_page="24"] - [as24ci_search_filter results_url="/inventory/"] - [as24ci_location_box post_id="42"]
  4. Publiez ou prévisualisez la page et vérifiez le rendu.
  5. Si le shortcode se trouve sur une page servie par un cache de page complète, videz le cache après modification afin que le dernier rendu soit servi.

Notes opérationnelles

  • Le plugin définit la variable globale $as24ci_render_mode sur 'shortcode' pendant le rendu d'un modèle de shortcode. Ceci est utilisé par d'autres parties du plugin (chargement des ressources, analyses) afin que les pages basées sur des shortcodes se comportent de manière cohérente avec l'archive CPT native.
  • [as24ci_archive] et [as24ci_compare] permutent la variable globale $wp_query pendant que leur modèle est inclus et appellent wp_reset_postdata() ensuite. Intégrez-les dans la zone de contenu principale pour éviter d'interférer avec les composants du thème qui lisent la requête globale de manière précoce.
  • [as24ci_search_filter] construit son URL action à partir de l'URL de résultats configurée (ou par défaut) et préserve tous les paramètres de requête présents dans cette URL via des champs de formulaire masqués, de sorte qu'il fonctionne à la fois avec des permaliens personnalisés ou simples.
  • Les modèles d'archive et de filtre de recherche fournis utilisent toujours les propres fichiers du plugin. Les surcharges de thème pour archive-as24ci_car.php s'appliquent à la fois à l'archive CPT et au shortcode [as24ci_archive], mais page-as24ci_compare.php et parts/search-filter.php ne sont pas chargés via locate_template() — ils ne peuvent pas être surchargés depuis un thème sans modifier la source du plugin. Voir Surcharges de modèles.
  • Tous les shortcodes renvoient des chaînes (pas d'affichage direct par echo), ils peuvent donc être intégrés dans des légendes, des cellules de tableau ou des compositions de blocs.

Dépannage

  • Le shortcode s'affiche en texte brut — vérifiez l'orthographe du nom du shortcode. Les noms sont sensibles à la casse ; utilisez la forme en minuscules documentée ci-dessus.
  • [as24ci_archive] affiche les mauvais véhicules — vérifiez que l'URL ne contient pas déjà des paramètres de filtrage d'une page précédente ; les paramètres d'URL surchargent toujours les attributs du shortcode.
  • [as24ci_search_filter] n'affiche aucun champ — aucun filtre n'est activé dans la zone Filtres de recherche. Ouvrez la configuration des Filtres de l'administration et activez les filtres dont vous avez besoin.
  • [as24ci_favorites] affiche une liste vide — le visiteur n'a aucun favori stocké dans le navigateur actuel. Essayez d'ajouter un véhicule aux favoris d'abord ; les favoris sont limités au navigateur/appareil.
  • Les liens de pagination de [as24ci_archive] renvoient une erreur 404 — votre structure de permaliens peut ne pas transmettre paged correctement à travers la page d'hébergement. Essayez d'utiliser ?page=N ou mettez à jour la structure des permaliens.
  • La page de comparaison est vide — le paramètre ids est manquant dans l'URL. Ajoutez au moins deux ID de véhicules : ?ids=123,456.

Documents connexes