Zum Inhalt springen

Kontaktformular konfigurieren

Das WP-ImmoMakler-Kontaktformular lässt sich über Filter-Hooks in der functions.php Ihres Child-Skins erweitern. Diese Seite sammelt die wichtigsten Anpassungen – von der Button-Beschriftung über Empfänger-, Betreff- und CC-Einstellungen bis zur Weiterleitung nach dem Absenden. Die grundlegenden Optionen konfigurieren Sie im Backend Ihrer Website (wp-admin) unter Einstellungen: Kontaktformular.

Fügen Sie folgenden Filter in die functions.php Ihres Child-Skins ein, um die Beschriftung des Absenden-Buttons zu ändern:

add_filter( 'immomakler_contactform_submit_value', function() {
return 'Formular absenden';
} );

Ersetzen Sie den Text in den Anführungszeichen durch Ihre gewünschte Beschriftung.

Standardmäßig werden Kontaktanfragen an die in Ihrer Maklersoftware hinterlegte E-Mail-Adresse gesendet. Mit dem folgenden Filter können Sie eine feste Empfängeradresse vorgeben:

add_filter( 'immomakler_contact_form_email_to', function( $email ) {
return 'ihre@mail.de';
} );

Um Kontaktanfragen zusätzlich als CC-Kopie zu versenden – zum Beispiel an eine feste Adresse oder dynamisch an den zuständigen Ansprechpartner des Objekts – nutzen Sie den entsprechenden Filter-Hook.

Bei einigen Maklersoftware-Systemen (z. B. Propstack, Justimmo) wird die Anfrage an eine interne, technische Adresse des Anbieters geleitet. Wenn Sie die E-Mail zusätzlich an eine eigene Adresse erhalten möchten, nutzen Sie einen der folgenden Filter:

Feste CC-Adresse:

add_filter('immomakler_contactform_cc', function() {
return 'mein.name@maklerunternehmen.de';
});

CC an den individuellen Ansprechpartner des Objekts (Feld „E-Mail direkt”):

add_filter('immomakler_contactform_cc', 'immomakler_contactform_cc', 10, 4);
function immomakler_contactform_cc($cc, $recipients, $items, $values) {
return get_post_meta($items[0], 'kontaktperson_email_direkt', true);
}

Die beim Absenden des Kontaktformulars erzeugte OpenImmo-Feedback-XML lässt sich über Filter-Hooks anpassen. Beispielsweise können Sie den Absendernamen in der XML auf einen festen Wert setzen:

add_filter('immomakler_openimmofeedback_sender_name', function() {
return 'Homepage';
});

Der Betreff der Kontaktanfrage-E-Mail lässt sich mit folgendem Filter anpassen. Beachten Sie, dass manche Maklersoftware-Systeme den Betreff auf 50 Zeichen begrenzen.

add_filter('immomakler_contactform_mail_with_posts_subject', function() {
return 'Objektanfrage von der Website';
});

Um die Objektnummer des angefragten Objekts in den E-Mail-Betreff aufzunehmen, steht ebenfalls ein Filter-Hook zur Verfügung.

add_filter('immomakler_contactform_mail_with_posts_subject', 'custom_immomakler_contactform_subject_with_property_id', 10, 2);
function custom_immomakler_contactform_subject_with_property_id( $subject, $requested_items ) {
$subject = 'Objektanfrage:';
foreach ( $requested_items as $post_id ) {
$subject .= ' ' . get_post_meta( $post_id, 'objektnr_extern', true);
}
return $subject;
}

Nach dem erfolgreichen Absenden des Formulars können Besucher auf eine Dankeschön-Seite weitergeleitet werden. Steuern Sie die Weiterleitung über den immomakler_contactform_mailsent-Filter und binden Sie dabei die Objektnummer dynamisch in die Ziel-URL ein. Legen Sie dazu bitte folgenden Filter in die functions.php in Ihrem WP-ImmoMakler Child-Skin-Plugin:

add_filter('immomakler_contactform_mailsent', 'immomakler_mailsent', 10, 3);
function immomakler_mailsent($text, $requested_items, $values) {
$objektid = $requested_items[0];
return $text . '<script>location.href="/anfrage-gesendet/?id=' . get_post_meta( $objektid, 'objektnr_extern', true ). '";</script>';
};

Nach einer erfolgreichen Formularabsendung lässt sich per Filter-Hook JavaScript-Code ausführen – zum Beispiel um eine Google Analytics Conversion zu erfassen:

add_filter( 'immomakler_contactform_mailsent', 'immomakler_contactform_mailsent_analytics_event', 10, 2 );
function immomakler_contactform_mailsent_analytics_event( $response, $requested_items ) {
return $response . '<script>ga("send", "event", "Direktanfrage", "versendet", "' . get_post_meta( $requested_items[0], 'objektnr_extern', true) . '");</script>';
}

Falls Kontaktanfragen nicht zuverlässig ankommen, liegt die Ursache häufig in einer fehlenden SMTP-Konfiguration. Weitere Informationen finden Sie im Artikel E-Mail-Zustellung verbessern.