Ga naar inhoud

Themasjablonen

Pas ImmoSync-formulier-HTML, formulier-e-mails en formulier-JavaScript aan vanuit uw WordPress-thema zonder de plugin te bewerken.

U kunt overschrijven:

  • shortcode-formulier-markup ([wpis-form-contact], [wpis-form-estate], [wpis-form-evaluation])
  • e-mail-bodies (agentschapsmelding en bezoekersbevestiging) en de gedeelde HTML-layout
  • formulier-JavaScript (wpis-forms.js)

Overschrijf alleen de bestanden die u nodig hebt. Ontbrekende themabestanden vallen terug op de plugindefaults.

Formulier-HTML, e-mail-HTML en wpis-forms.js worden allemaal in deze volgorde opgelost:

  1. Child-thema (get_stylesheet_directory())
  2. Parent-thema (get_template_directory()), indien anders
  3. Plugindefault

Overschrijf de HTML die door de formuliershortcodes wordt gerenderd.

U kunt overschrijven:

  • het contact-formulier ([wpis-form-contact])
  • het uitgebreide contact-formulier ([wpis-form-contact type="extended"])
  • het pand-formulier ([wpis-form-estate])
  • het evaluatie-formulier ([wpis-form-evaluation])

Maak in uw actieve thema (of child-thema) aan:

immosync/form/

Voeg vervolgens alleen de bestanden toe die u wilt aanpassen:

Themabestand Overschrijft Shortcode
immosync/form/contact.html contact.default.form.html [wpis-form-contact]
immosync/form/contact-extended.html contact.extended.form.html [wpis-form-contact type="extended"]
immosync/form/estate.html estate.default.form.html [wpis-form-estate]
immosync/form/evaluation.html evaluation.default.form.html [wpis-form-evaluation]

Voorbeeld:

your-theme/
immosync/
form/
contact.html
contact-extended.html
estate.html
evaluation.html

Als een bestand in het thema ontbreekt, wordt de plugindefault onder plugin/templates/form/ gebruikt. U kunt één formulier overschrijven en de andere met rust laten.

  1. Kopieer het overeenkomende pluginbestand naar uw themapad (hernoem zoals in de tabel hierboven).
  2. Bewerk de kopie.
  3. Herlaad een pagina die de shortcode gebruikt om de markup te controleren.

Pluginbronnen om van te kopiëren:

  • plugin/templates/form/contact.default.form.html → immosync/form/contact.html
  • plugin/templates/form/contact.extended.form.html → immosync/form/contact-extended.html
  • plugin/templates/form/estate.default.form.html → immosync/form/estate.html
  • plugin/templates/form/evaluation.default.form.html → immosync/form/evaluation.html

Vertaalde labels en berichten gebruiken Mustache-stijltags die door de shortcode worden vervangen, bijvoorbeeld:

  • {{ form.gender.label }}, {{ form.firstname.label }}, {{ form.lastname.label }}
  • {{ form.email.label }}, {{ form.phone.label }}, {{ form.message.label }}
  • {{ form.policy.label }}, {{ form.policy.value }}, {{ form.submit.value }}
  • {{ message.success }}, {{ message.processing }}
  • {{ error.single }}, {{ error.multiple }}

Adresvelden (uitgebreid contact / evaluatie) gebruiken ook {{ form.addressStreet.label }}, addressNumber, addressBox, addressZip, addressCity.

Behoud data-lid="%listId%" op de <form>-tag. %listId% wordt vervangen door het shortcode-attribuut list-id (standaard -1).

Deze tokens worden door de shortcode vervangen:

  • %estateId% — uit het attribuut estate-id wanneer ingesteld, anders van de huidige pandpagina
  • %postId% — huidige post-ID

Behoud ze in uw overschrijving als het formulier nog steeds het juiste pand moet targeten.

De plugin injecteert bij render een leeg CSRF-veld (_wpis_token) en een verborgen honeypot (website) vóór </form>. Het formulierscript laadt een vers token via POST /wp-json/wpis/form-token nadat de pagina is geladen, zodat een gecachte pagina geen live token opslaat. Themakopieën mogen dezelfde markup bevatten; de plugin verwijdert duplicaten en schrijft een leeg tokenveld.

Behoud de oorspronkelijke id-attributen op zichtbare velden. Hernoem _wpis_token of website niet.

Elke controle (en de timing ervan) kan worden uitgeschakeld of overschreven vanuit het themabestand wpis-settings.json. Zie Theme settings.

  • Shortcode-attributen blijven van toepassing (style, submit, type, estate-id, list-id).
  • type="extended" laadt contact-extended.html wanneer aanwezig; anders het uitgebreide pluginsjabloon.
  • Formulierindiening-JS en API-gedrag blijven ongewijzigd door deze HTML-overschrijvingen.
  • Belangrijk: De formuliertag en elk formulierveld moeten hun oorspronkelijke id-attribuut ongewijzigd behouden zodat plugin-JS de velden correct kan vinden en verwerken.
  • Filterhook voor geavanceerd gebruik: wpis_form_template_path.

Pas ImmoSync-formulier-e-mails aan vanuit uw WordPress-thema zonder de plugin te bewerken.

U kunt overschrijven:

  • de client-meldingsbody (bericht verzonden naar het agentschap / admin)
  • de ontvanger-bevestigingsbody (bericht verzonden naar de bezoeker)
  • de body van het wekelijkse rapport van geblokkeerde indieningen
  • de gedeelde HTML-layout die die bodies omwikkelt

Maak in uw actieve thema (of child-thema) aan:

immosync/email/

Voeg vervolgens alleen de bestanden toe die u wilt aanpassen:

Themabestand Overschrijft
immosync/email/client-content.html content/client-email.html
immosync/email/recipient-content.html content/recipient-email.html
immosync/email/blocked-report-content.html content/blocked-report-email.html
immosync/email/template.html default.email.html

Voorbeeld:

your-theme/
immosync/
email/
client-content.html
recipient-content.html
blocked-report-content.html
template.html

Als een bestand in het thema ontbreekt, wordt de plugindefault onder plugin/templates/email/ gebruikt. U kunt één bestand overschrijven en de andere met rust laten.

  1. Kopieer het overeenkomende pluginbestand naar uw themapad (hernoem zoals in de tabel hierboven).
  2. Bewerk de kopie.
  3. Dien een formulier in om de e-mailuitvoer te controleren.

Pluginbronnen om van te kopiëren:

  • Body (client): plugin/templates/email/content/client-email.html → immosync/email/client-content.html
  • Body (ontvanger): plugin/templates/email/content/recipient-email.html → immosync/email/recipient-content.html
  • Body (geblokkeerd rapport): plugin/templates/email/content/blocked-report-email.html → immosync/email/blocked-report-content.html
  • Layout: plugin/templates/email/default.email.html → immosync/email/template.html

Eenvoudige waarden (vervangen als tekst):

  • {{ firstname }}, {{ lastname }}, {{ email }}, {{ phone }}, {{ message }}
  • {{ source }}, {{ url }}
  • Adres: {{ addressStreet }}, {{ addressNumber }}, {{ addressBox }}, {{ addressZip }}, {{ addressCity }}
  • Zoekopdracht: {{ searchPurpose }}, {{ searchCategory }}, {{ searchPriceMin }}, {{ searchPriceMax }}, {{ searchRooms }}, {{ searchAreaMin }}, {{ searchAreaMax }}, {{ searchZips }}
  • Pand: {{ estateId }}, {{ estateReference }}, {{ estateName }}
  • Geblokkeerd rapport: {{ siteName }}, {{ total }}, {{ periodStart }}, {{ periodEnd }}, {{ blockedTable }}

Voorwaardelijke secties (inhoud erbinnen wordt alleen behouden wanneer de voorwaarde truthy is):

{{#address}}
...
{{/address}}
{{#search}}
...
{{/search}}
{{#estate}}
...
{{/estate}}

Uw layoutbestand moet deze tokens bevatten:

  • {{ email.headline }}
  • {{ email.message }} — gerenderde body-inhoud
  • {{ email.signature }}
  • {{ email.footer }}
  • Onderwerpregels en From- / To-adressen blijven gestuurd door plugininstellingen, niet door deze sjablonen.
  • Filterhook voor geavanceerd gebruik: wpis_email_template_path.

Om vanuit het thema in te haken op een formulierindiening (analytics, pixels, extra UI), luister naar wpis_form_submission en wpis_form_success in plaats van dit bestand te kopiëren. Zie JavaScript events.

Om formuliergedrag of -uiterlijk in JavaScript aan te passen, kopieer het pluginscript naar de root van het actieve thema (of child-thema):

your-theme/wpis-forms.js

Pluginbron om van te kopiëren:

  • plugin/dist/client/wpis-forms.js → wpis-forms.js

Dezelfde resolutievolgorde geldt (child-thema, daarna parent-thema, daarna het pluginbestand). De themakopie wordt geversioneerd met filemtime zodat browsers bewerkingen oppikken.

Filterhook voor geavanceerd gebruik: wpis_forms_script.

HTML-sjabloonoverschrijvingen wijzigen dit script niet. Overschrijf wpis-forms.js alleen wanneer u ander client-side gedrag nodig hebt.

  • Theme settings — overschrijf pluginopties (inclusief formulierbeveiligingscontroles) vanuit wpis-settings.json
  • Shortcodes — attributen en gebruik van formuliershortcodes