Mit CASAWP können Immobilienobjekte im XML-Format aus unserer API „CASAGATEWAY“ auf die WordPress-Website übertragen werden. Der Import erzeugt einen eigenen Post-Type (casawp_property) und kategorisiert die Objekte in eigene Taxonomien. Dieser Custom Post Type reserviert den Permalink „/immobilien“, unter dem die Archivansicht der Immobilien angezeigt wird.
CASAWP Leitfaden für die Implementierung von Drittanbietern
Der folgende Leitfaden ist für Drittanbieter gedacht, die eine WordPress-Website mit CASAWP für einen bestehenden oder zukünftigen CASAONE-Kunden von uns implementieren. Darüber hinaus werden solide Entwicklungskenntnisse in PHP & WordPress empfohlen, um das Plugin richtig zu nutzen.
Einrichtung
- Laden Sie die neueste Version von CASAWP herunter und installieren Sie sie hier
- API-Schlüssel über support@casasoft.ch anfordern
a. Bitte geben Sie die Home-URL der geplanten Go-Live-Domain an (z.B. https://customer-domain.tld)
b. Zu Ihrer Information: Da es sich bei diesem Plugin um ein Open Source Plugin handelt und Entwicklungskenntnisse empfohlen werden, bieten wir keine kostenlose Unterstützung bei der Programmierung an. Wenn Sie detaillierte technische Unterstützung für CASAWP wünschen, geben Sie bitte auch eine Rechnungsadresse an. Sie können dann einen Anruf mit einem Ingenieur von CASASOFT vereinbaren. Die Kosten betragen CHF 180.00 pro Stunde, beginnend ab der ersten Minute.
c. Wir holen die Zustimmung des Kunden nach Ihrer Anfrage ein. - Danach erhalten Sie die notwendigen Schlüssel, um die Eigenschaften zu importieren und Formularanfragen zurückzusenden
FAQ
Warum funktioniert Google Maps nicht?
Um Google Maps nutzen zu können, müssen Sie einen API-Schlüssel direkt auf Google Cloud Platform erstellen und ihn in den WP-Einstellungen von CASAWP → Detail → Maps JavaScript API eingeben.
Immobilien importieren
Fügen Sie die API-Schlüssel, die Sie von CASASOFT erhalten, in die Registerkarte „Allgemein“ der CASAWP-Einstellungen ein. Speichern Sie die Einstellungen, bevor Sie die Eigenschaften zum ersten Mal importieren.
Manuelle Importe
Klicken Sie in den CASAWP-Einstellungen auf der Registerkarte „Allgemein“ auf „Daten von CASAGATEWAY beziehen“, um die Eigenschaften von CASAGATEWAY abzufragen. Wenn das Gateway über Eigenschaften für die angegebenen Anmeldedaten verfügt, sollten Sie diese zum ersten Mal in die Website importieren können.
WICHTIG: Die Sprache(n) der Website müssen mit der/den Sprache(n) der Eigenschaften übereinstimmen. Die folgenden Gebietsschemata werden vollständig unterstützt:
de_DE
en_US
fr_FR
it_IT
de_CH oder de_AT format wird nicht unterstützt. Eigenschaften können nicht importiert werden, wenn Sie eine dieser Konfigurationen haben.
Automatische Importe
CASAWP kann Eigenschaften aus CASAGATEWAY importieren, sobald diese veröffentlicht wurden. Um den automatischen Import zu aktivieren, müssen Sie uns die Haupt-Home-URL der Website schicken, damit wir eine sogenannte „poke URL“ erstellen können, die immer ausgelöst wird, sobald das Gateway Eigenschaften veröffentlicht. Die „poke URL“ selbst führt die Importfunktion in CASAWP aus und holt somit die Eigenschaften aus CASAGATEWAY ab.
Hauptarchiv filtern
Das Hauptarchiv ist automatisch verfügbar, sobald Sie das Plugin aktivieren. Der Standard-Permalink ist /immobilien, was eine Umbenennung des Plugins property post type „casawp_property“ ist. Sie können diesen Slug mit WPML übersetzen - oder ihn in den Einstellungen auf der Hauptseite „Allgemein“ außer Kraft setzen.
Das Hauptarchiv in „/immobilien“ zeigt alle Immobilien an, die den Taxonomiebegriff „active“ in „casawp_availability“ haben. Sie können die Ansicht mit verschiedenen GET-Parametern weiter filtern. Sie können jede Taxonomie verwenden und nach deren Begriffen filtern.
Ein paar Beispiele:
Nur Referenzen
/immobilien/?availabilities=reference
Aktiv, reserviert & verkauft
/immobilien/?availabilities[]=active&availabilities[]=taken&availabilities[]=reserved
Zu kaufen
/immobilien/?availabilities=active&salestypes=buy
Ausländische (_not)
/immobilien/?availabilities=active&locations_not=country_ch
Denken Sie daran, die Pluralform ohne „casawp_“ zu verwenden, um Ihre eigenen "getter" zu bilden, und verwenden Sie dann den gewünschten Begriffs-Slug → "casawp_category“ => "house“ wird zu „categories=house“
Jede Taxonomie hat einen positiven und einen negativen Filter (_not). Wenn Sie mehr als einen Begriff einer bestimmten Taxonomie auswählen möchten, verwenden Sie Array-Klammern → availabilities[]=active&availabilities[]=taken
Shortcodes erstellen
Immobilien anzeigen
[casawp_properties categories="apartment" order="ASC" posts_per_page="15"]
Zeigt Immobilien überall dort an, wo Shortcodes akzeptiert werden.
Die entsprechende Ansichtsdatei shortcode-properties.phtml ist für das Aussehen verantwortlich.
Akzeptierte Query Params:
- 'post-type'
- 'posts_per_page'
- 'order'
- 'ignore_sticky_posts'
- 'post__not_in'
- 'orderby'
- 'categories'
- 'locations'
- 'countries'
- 'salestypes'
- 'availabilities'
- 'categories_not'
- 'locations_not'
- 'countries_not'
- 'salestypes_not'
- 'availabilities_not'
- 'features'
- 'my_lng'
- 'my_lat'
- 'radius_km'
- 'projectunit_id'
Akzeptierte Pass-Through-Variablen
- col_count
Ein Formular anzeigen
[casawp_contactform offer_id="12" id="my-custom-form"]
Zeigt ein Formular für die Übermittlung von Anfragen an
Akzeptierte Query Params:
- id – Form ID die beim formSettingService registriert ist (optional)
- offer_id
- project_id
- direct_recipient_email (übersteuert alle Einstellungen und zwingt CASAMAIL, eine E-Mail zu senden)
Benutzerdefinierte Ansichten erstellen
Kopieren Sie einfach die entsprechenden View-Dateien aus dem Plugin /wp-content/plugins/casawp/theme-defaults/chosen-viewtype/*.phtml
in das Verzeichnis Ihres Themes /wp-content/themes/your-theme/casawp/chosen-viewtype/*.phtml
casawp-archive.php und casawp-single.php sind die Hauptdateien für die Einzel- und Archivausgabe. Diese können in das Stammverzeichnis Ihres Themes kopiert werden.
Struktur der Ansichtsdatei
Benutzerdefinierte Formulare erstellen
Registrieren Sie zusätzliche Formulare in Ihrem Theme, indem Sie Folgendes in Ihre functions.php einfügen.
<?php //create a new class that extends DefaultFormSettings to create a new form id. class MyCustomFormSetting extends \casawp\Form\DefaultFormSetting { public $id = 'my-custom-form'; function __construct(){ //name the view file you wish to use (defaults to contact-form) make sure you create the file in `wp-content/themes/your-theme/casawp/bootstrap3/{viewFileName}.phtml` $this->viewFile = 'custom-form-' . $this-id; } public function setAdditionalFields($form){ // set additional fields here $form-add(array( 'name' = 'customfield', 'type' = 'Text', 'options' = array( 'label' = __('Custom Field here', 'casawp'), ), )); //add validation filters here $form-setCustomFilters(array( array( 'name' = 'customfield', 'required' = true, 'validators' = array( array( 'name' = 'not_empty', ), array( 'name' = 'string_length', 'options' = array( 'min' = 2 ), ), ), ) )); return $form; } public function preCasaMailFilter($data, $postdata){ //manipulate the data before it is sent to casamail after the visitor posts the form and it's valid. $data['extra_data'] = array_merge($data['extra_data'], array('customfield' = $postdata['customfield'])); return $data; } } //make sure the plugin knows about it by informing the formSettingService from the plugin add_action( 'casawp_register_forms', 'casawp_register_forms_func', 10, 1 ); function casawp_register_forms_func( $formSettingService ) { $formSettingService-addFormSetting(new MyCustomFormSetting()); }
Benutzerdefinierte automatische E-Mail-Antwort
Ein Beispiel dafür, wie man eine zusätzliche E-Mail aktivieren kann, wenn ein Kunde eine Anfrage stellt.
function casawp_after_inquirysend($payload) { //(array) $postdata //(object) $offer extract($payload); if ($offer-getFieldValue('seller_org_customerid') == "bento") { $subject = "Info-Meldung bezüglich einer Objekt-Anfrage von zueriimmo.ch: " . $offer-getTitle(); $message = 'Eine Anfrage wurde von zueriimmo.ch an die Bento AG gesendet.'; $message .= "\n"; $message .= "\n"; $message .= "Objekt:\n"; $message .= $offer-getTitle(). "\n"; $message .= 'ref: ' . $offer-getFieldValue('visualReferenceId') ? $offer-getFieldValue('visualReferenceId') : $offer-getFieldValue('referenceId') . "\n"; $message .= "\n"; $message .= "\n"; $message .= "Anfragender:\n"; foreach ($postdata as $key = $value) { $message .= $key . ": " . $value . "\n"; } wp_mail( 'jstalder@icloud.com, info@zueriimmo.ch', $subject, $message); } } add_action( 'casawp_after_inquirysend', 'casawp_after_inquirysend' );
Exklusive Eigenschaften über Login
Das Plugin verwendet die Standard-WordPress-Benutzeroberfläche für die Registrierung und Authentifizierung von Benutzern, die Zugriff auf spezielle unveröffentlichte Eigenschaften haben. Diese Eigenschaften, "if availability = private" und der entsprechende Filter, "if availability contains private", sind nur sichtbar, wenn der Benutzer mindestens auf einem "subscription" level registriert ist und werden auf die definierte Login-Seite umgeleitet.
CASAWP generiert direkt 2 Seiten und definiert die Seiten innerhalb der casawp->settings->PrivateArea Login und Logout Seiten.
Benutzerdefiniertes Login-Formular an beliebigem Eingabeort
Verwenden Sie das Standard-WordPress-Anmeldeformular "wp_login_form()" oder kopieren Sie den Beispielcode unten. (passen Sie die Umleitungsurl an eine geeignete Url an)
<?php if (isset($_GET['login']) && $_GET['login'] == 'failed') : ?>
<div class="alert alert-danger" role="alert">Login fehlgeschlagen.</div>
<?php endif; ?>
<div class="casawp-private-login-form">
<?php
$args = array(
'echo' => true,
'remember' => true,
'redirect' => 'http://where-should-i-go.com',
);
wp_login_form($args);
?>
</div>
Bearbeitung von Formularübermittlungen
Formular-Einsendungen können über CASAMAIL an unsere CASAONE-Software oder direkt per E-Mail gesendet werden. Sie müssen einen Provider- und einen Publisher-Slug festlegen, um Formularübermittlungen aus einem CASAWP-Formular zu versenden. Diese Slugs erhalten Sie auch von CASASOFT.
Die Checkbox „Objekt-Anfragen als E-Mail senden.“ sollte angekreuzt werden, wenn Sie aus Formularanfragen regelmäßig E-Mails generieren möchten. Ist die Checkbox nicht angekreuzt, leitet unsere Schnittstelle die Anfrage an CASAONE weiter, wo der Kunde die Pro-Version benötigt, um Objekt-Anfragen zu bearbeiten.