Aller au contenu

Shortcodes

WP Immo Sync propose divers shortcodes pour répondre à plusieurs usages. Cette documentation détaille chaque shortcode et son utilisation.

Les shortcodes suivants sont aussi disponibles en blocs Gutenberg dans la catégorie d’insertion ImmoSync. Les shortcodes restent pris en charge (thèmes PHP, Grid Builder, éditeur classique).

Bloc Shortcode Notes
ImmoSync Form [wpis-form-contact], [wpis-form-estate], [wpis-form-evaluation] Un seul bloc. Choisir le type de formulaire dans la barre latérale.
ImmoSync Details list [wpis-details-list] Nécessite un contexte de publication bien/projet (éditeur de bien, Query Loop ou modèle single).
ImmoSync Value [wpis-value] Idem : utilise le bien courant lorsque le modèle est affiché.
ImmoSync Label [wpis-label] Même contexte de publication que Value.

[wpis-group] et [wpis-estate-listing] restent disponibles uniquement en shortcodes.

Les types de publication bien, projet et agent sont exposés dans l’API REST WordPress afin de pouvoir les modifier dans Gutenberg. Les métadonnées personnalisées wpis_* ne sont pas enregistrées dans REST ; le HTML des blocs est rendu côté serveur.

Ce shortcode génère une liste de libellés et de valeurs de propriétés regroupés par collection. Il contient des collections prédéfinies et peut créer une liste à partir des propriétés wpis.

La traduction des libellés et des unités est gérée automatiquement selon la langue courante de WordPress (langues disponibles : EN, FR, NL).

Le code généré dispose d’une classe par défaut pour styliser chaque élément selon les besoins.

Exemple

<ul class="wpis-detail-list collection-energy">
<li>
<span class="label label-energy_epcValue">Mesure énergétique</span>
<span class="value value-energy_epcValue"
>339
<span class="unit"> kWh/m²/an</span>
</span>
</li>
<li>
<span class="label label-energy_gazEmit">Emission de gaz</span>
<span class="value value-energy_gazEmit"
>339
<span class="unit"> Kg/CO2/an</span>
</span>
</li>
</ul>

collection

  • Définit la collection à utiliser
  • Facultatif UNIQUEMENT si le paramètre properties est utilisé
  • Collections disponibles : general, energy, configuration

exlude :

  • Définit les propriétés à exclure, séparées par une “,”
  • Facultatif

properties :

  • Définit les propriétés à utiliser, séparées par une “,”
  • Facultatif

Exemple 1

Utilisation simple d’une collection

[wpis-details-list collection="general" /]
// Renvoie la liste des propriétés de la collection `general`

Exemple 2

Exclusion de certaines propriétés d’une collection existante

[wpis-details-list collection="general" exclude="finance_price, address_city" /]
// Renvoie la liste des propriétés de la collection `general` sans les propriétés exclues

Exemple 3

Création d’une liste personnalisée à partir des métas choisies

[wpis-details-list metas="id, finance_price, energy_epcLabel" /]
// Renvoie une liste personnalisée basée sur les métas définies

Ce shortcode renvoie un libellé à partir d’une métadonnée wpis donnée.

La traduction est gérée automatiquement selon la langue courante de WordPress (langues disponibles : EN, FR, NL).

wrap

  • Permet de définir le contenu qui entoure le libellé.
  • Le paramètre %s est remplacé automatiquement par le libellé.
  • Le paramètre %s est obligatoire si le paramètre wrap est utilisé.
  • Facultatif

Exemple 1

Utilisation de base

[wpis-label meta="finance_price" /]
// Renvoie le libellé `Price`

Exemple 2

Utilisation avec le paramètre wrap

[wpis-label meta="finance_price" wrap="<span class='my-label-price'>%s</span>" /]
// Renvoie le libellé <span class="my-label-price">Price</span>

Exemple 3

Utilisation avec un contenu enveloppeur

[wpis-label meta="finance_price"]<span class="my-label-price">%s</span>[/wpis-label]
// Renvoie le libellé <span class="my-label-price">Price</span>

Ce shortcode renvoie une valeur à partir d’une métadonnée wpis donnée. La valeur est renvoyée préformatée et avec une unité lorsque les données le nécessitent.

meta

  • Sert à définir quelle propriété méta wpis renvoyer
  • Les valeurs acceptées sont toute propriété wpis disponible dans le plugin
  • Obligatoire

format

  • Peut servir à désactiver le formatage de la méta ou à appliquer un filtre prédéfini
  • Paramètres acceptés : true, false, capitalize, decimal, number, price, yes/no
  • Par défaut : true
  • Facultatif

unit

  • Peut servir à masquer l’unité prédéfinie
  • Paramètre accepté : true ou false
  • Par défaut : true
  • Facultatif

wrap

  • Permet de définir le contenu qui entoure le libellé.
  • Le paramètre %s est remplacé automatiquement par le libellé.
  • Le paramètre %s est obligatoire si le paramètre wrap est utilisé.
  • Facultatif

Exemple 1

Utilisation de base

[wpis-value meta="areas_total" /]
// Renvoie `85,00 m²`

Exemple 2

Désactiver le formatage

[wpis-value meta="areas_total" format="false"/]
// Renvoie `85 m²`

Exemple 3

Désactiver le formatage

[wpis-value meta="areas_total" format="false"/]
// Renvoie `85 m²`

Exemple 4

Remplacer le formatage et désactiver l’unité

[wpis-value meta="areas_total" format="price" unit="false" /]
85 €
// Renvoie `85 €`

Exemple 5

Désactiver le formatage et l’unité

[wpis-value meta="areas_total" format="false" unit="false" /]
// Renvoie `85`

Exemple 6

Utilisation avec le paramètre wrap

[wpis-value meta="areas_total" format="false" unit="false wrap="It's %s meters squared"/]
// Renvoie `It's 85 meters squared`

Exemple 7

Utilisation avec un contenu enveloppeur

[wpis-value meta="areas_total" format="false" unit="false"]It's %s meters squared[/wpis-value]
// Renvoie `It's 85 meters squared`

Ce shortcode renvoie plusieurs valeurs à partir d’un ensemble défini de métadonnées wpis, séparées par un espace ou un séparateur personnalisé. La valeur est renvoyée préformatée et avec une unité lorsque les données le nécessitent.

metas

  • Sert à définir un ensemble de propriétés méta wpis à renvoyer, séparées par une “,”
  • Les valeurs acceptées sont toute propriété wpis disponible dans le plugin
  • Obligatoire

separator

  • Sert à définir le séparateur à utiliser entre les valeurs
  • Par défaut : “``”
  • Facultatif

skip-zero

  • Sert à ignorer les valeurs égales à zéro
  • Paramètres acceptés : true, false
  • Par défaut : false
  • Facultatif

format

  • Peut servir à désactiver le formatage de la méta
  • Paramètres acceptés : true, false
  • Par défaut : true
  • Facultatif

unit

  • Peut servir à masquer l’unité prédéfinie
  • Paramètre accepté : true ou false
  • Par défaut : true
  • Facultatif

wrap

  • Permet de définir le contenu qui entoure le libellé.
  • Le paramètre %s est remplacé automatiquement par le libellé.
  • Le paramètre %s est obligatoire si le paramètre wrap est utilisé.
  • Facultatif

Exemple 1

Plusieurs valeurs avec un séparateur personnalisé

[wpis-group metas="areas_bedroom1, areas_bedroom2, areas_bedroom3, areas_bedroom4, areas_bedroom5" separator=" - "]
// Renvoie `14,00 m² - 11,00 m² - 4,00 m² - -`

Exemple 2

Plusieurs valeurs avec un séparateur personnalisé, sans formatage et en ignorant les valeurs nulles

[wpis-group metas="areas_bedroom1, areas_bedroom2, areas_bedroom3, areas_bedroom4, areas_bedroom5" separator=", " format="false" unit="true" skip-zero="true"/]
// Renvoie `14 m², 11 m², 4 m²`

Exemple 3

Plusieurs valeurs avec un séparateur personnalisé, sans formatage, en ignorant les valeurs nulles et avec le paramètre wrap

[wpis-group metas="areas_bedroom1, areas_bedroom2, areas_bedroom3, areas_bedroom4, areas_bedroom5" separator=", " format="false" unit="true" skip-zero="true" wrap="Surface Chambres : %s"/]
// Renvoie `Surface Chambres : 14 m², 11 m², 4 m²`

Exemple 4

Plusieurs valeurs avec un séparateur personnalisé et un contenu enveloppeur

[wpis-group metas="address_longitude, address_latitude" separator="; "]<div class="geo">%s</div>%s…[wpis-group]
// Renvoie `<div class="geo">4.419409; 50.81194</div>`

Le HTML des formulaires, les e-mails et wpis-forms.js peuvent être remplacés depuis le thème actif. Voir Modèles du thème.

Lorsqu’un visiteur envoie un formulaire ImmoSync, le plugin déclenche deux CustomEvents qui remontent (bubbling) sur l’élément <form>. Les thèmes peuvent écouter sur document sans copier wpis-forms.js.

Les deux événements exposent les données saisies du formulaire dans event.detail. Les champs de sécurité (_wpis_token, website) sont omis. event.target est l’élément formulaire.

Événement Moment du déclenchement
wpis_form_submission Dès que le formulaire est envoyé, avant l’envoi de la requête
wpis_form_success Après acceptation de l’envoi par le serveur

event.detail contient :

  • formId — id de l’élément formulaire (wpis-form-contact-default, wpis-form-contact-extended, wpis-form-evaluation, ou wpis-form-estate)
  • source — contactForm, evaluationForm, ou estateForm
  • url — URL de la page au moment de l’envoi
  • gender, firstname, lastname, email, phone, message
  • addressStreet, addressNumber, addressBox, addressZip, addressCity sur les formulaires de contact étendu et d’évaluation
  • listId lorsqu’une liste de contacts est définie
  • estateId, postId sur le formulaire bien

Enregistrer un petit script depuis le thème actif (ou le thème enfant). L’écouteur peut être enregistré sur document à tout moment avant l’envoi :

functions.php
add_action('wp_enqueue_scripts', function () {
wp_enqueue_script(
'mytheme-immosync-forms',
get_stylesheet_directory_uri() . '/js/immosync-forms.js',
[],
wp_get_theme()->get('Version'),
true
);
});
js/immosync-forms.js
document.addEventListener('wpis_form_submission', function (event) {
var data = event.detail;
// Exemple : Google Tag Manager / analytics
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'wpis_form_submission',
formId: data.formId,
source: data.source,
email: data.email,
});
});
document.addEventListener('wpis_form_success', function (event) {
var data = event.detail;
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'wpis_form_success',
formId: data.formId,
source: data.source,
email: data.email,
estateId: data.estateId,
});
});

Il est aussi possible d’exécuter une logique de thème personnalisée en cas de succès (redirection, confirmation supplémentaire, pixel CRM, etc.) :

document.addEventListener('wpis_form_success', function (event) {
var data = event.detail;
if (data.source === 'estateForm') {
console.log('Lead for estate', data.estateId, data);
}
});

Ce shortcode génère un formulaire destiné au contact. Le contact est synchronisé avec WordPress et envoyé via ImmoSync vers le logiciel immobilier.

type

  • Sert à déterminer si le formulaire doit être par défaut ou étendu. L’option étendue ajoute des champs liés à l’adresse
  • Paramètres acceptés : default, extended
  • Par défaut : default
  • Facultatif

style

  • Sert à activer ou désactiver le style par défaut appliqué au formulaire
  • Paramètres acceptés : on, off
  • Par défaut : on
  • Facultatif

submit

  • Sert à remplacer le texte par défaut du bouton d’envoi
  • Valeur acceptée : sting
  • Par défaut : Send
  • Facultatif

list-id

  • Sert à injecter un ID de liste de contacts.
  • Valeur acceptée : ID de liste de contacts provenant du logiciel Whise.
  • Par défaut : -1 (aucun ID de liste de contacts)
  • Facultatif

Exemple 1

Formulaire de contact par défaut

[wpis-contact-form /]

Exemple 2

Formulaire de contact étendu

[wpis-form-contact type="extended"]

Exemple 3

Formulaire de contact étendu sans style par défaut

[wpis-form-contact type="extended" style="off"]

Exemple 4

Formulaire de contact avec un texte d’envoi personnalisé

[wpis-form-contact submit="My custom text"]

Ce shortcode génère un formulaire destiné à l’évaluation. Le contact est synchronisé avec WordPress et envoyé via ImmoSync vers le logiciel immobilier.

style

  • Sert à activer ou désactiver le style par défaut appliqué au formulaire
  • Paramètres acceptés : on, off
  • Par défaut : on
  • Facultatif

submit

  • Sert à remplacer le texte par défaut du bouton d’envoi
  • Valeur acceptée : sting
  • Par défaut : Send
  • Facultatif

list-id

  • Sert à injecter un ID de liste de contacts.
  • Valeur acceptée : ID de liste de contacts provenant du logiciel Whise.
  • Par défaut : -1 (aucun ID de liste de contacts)
  • Facultatif

Exemple 1

Formulaire d’évaluation simple

[wpis-form-evaluation /]

Exemple 2

Formulaire sans style par défaut

[wpis-form-evaluation style="off"]

Exemple 3

Formulaire d’évaluation avec un texte d’envoi personnalisé

[wpis-form-evaluation submit="My custom text"]

Ce shortcode génère un formulaire destiné à l’intérêt pour un bien. Le formulaire détermine le contexte et envoie l’ID du bien et les détails par e-mail au client et au destinataire. Le contact est synchronisé avec WordPress et envoyé via ImmoSync vers le logiciel immobilier.

style

  • Sert à activer ou désactiver le style par défaut appliqué au formulaire
  • Paramètres acceptés : on, off
  • Par défaut : on
  • Facultatif

submit

  • Sert à remplacer le texte par défaut du bouton d’envoi
  • Valeur acceptée : sting
  • Par défaut : Send
  • Facultatif

estate-id

  • Sert à injecter un ID de bien. Prioritaire sur l’ID détecté depuis la page de bien courante.
  • Valeur acceptée : ID de bien
  • Par défaut : détecté depuis la méta de publication courante wpis_id
  • Facultatif. Obligatoire si le shortcode n’est pas utilisé sur une page de bien.

list-id

  • Sert à injecter un ID de liste de contacts.
  • Valeur acceptée : ID de liste de contacts provenant du logiciel Whise.
  • Par défaut : -1 (aucun ID de liste de contacts)
  • Facultatif

Exemple 1

Formulaire bien simple

[wpis-form-estate /]

Exemple 2

Formulaire bien sans style par défaut

[wpis-form-estate style="off"]

Exemple 3

Formulaire bien avec un texte d’envoi personnalisé

[wpis-form-estate submit="My custom text"]

Exemple 4

Formulaire bien avec un ID de bien explicite (remplace la page courante)

[wpis-form-estate estate-id="12345"]