inx_search_form_elements (Filter)

Mit diesem Filter können die Eigenschaften der Elemente des Immobilien-Suchformulars angepasst werden.

Parameter

Name Beschreibung
$elements Array aller Suchformular-Elemente

Das Elements-Array im Detail

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
[
'description' => [
'enabled' => true,
'hidden' => false,
'extended' => false,
'type' => 'text',
'key' => '',
'compare' => 'LIKE',
'numeric' => false,
'label' => '',
'placeholder' => __( 'Keyword or Property ID', 'immonex-kickstart' ),
'class' => '',
'order' => 10
],
'property-type' => [
'enabled' => true,
'hidden' => false,
'extended' => false,
'type' => 'tax-select',
'key' => 'inx_property_type',
'compare' => '=',
'numeric' => false,
'label' => __( 'Property Type', 'immonex-kickstart' ),
'options' => [],
'multiple' => false,
'empty_option' => __( 'All Property Types', 'immonex-kickstart' ),
'default' => '',
'class' => '',
'order' => 20
],
'min-rooms' => [
'enabled' => true,
'hidden' => false,
'extended' => false,
'type' => 'range',
'key' => '_inx_primary_rooms',
'compare' => '>=',
'range' => '0,10',
'default' => 0,
'replace_null' => __( 'not specified', 'immonex-kickstart' ),
'unit' => false,
'currency' => false,
'numeric' => true,
'label' => __( 'Min. Rooms', 'immonex-kickstart' ),
'class' => '',
'order' => 50
],
'price-range' => [
'enabled' => true,
'hidden' => false,
'extended' => false,
'type' => 'range',
'key' => '_inx_primary_price',
'compare' => 'BETWEEN',
'range' => 'primary_price_min_max',
'default' => 'primary_price_min_max',
'unlimited_term' => __( 'unlimited', 'immonex-kickstart' ),
'currency' => 'EUR',
'numeric' => true,
'label' => __( 'Price Range', 'immonex-kickstart' ),
'class' => '',
'order' => 70
],
'submit' => [
'enabled' => true,
'hidden' => false,
'extended' => false,
'type' => 'submit',
'key' => '',
'compare' => '',
'numeric' => false,
'label' => __( 'Show', 'immonex-kickstart' ),
'class' => 'inx-property-search__element--is-last-grid-col',
'order' => 80
],
...
]

Element-Eigenschaften

Name (Typ) Beschreibung
enabled (bool) aktiv/verfügbar
hidden (bool) true bei Elementen, die für die Suche/Filterung zum Einsatz kommen, aber nicht direkt im Formular auswählbar sind (Sonderfall)
extended (bool) true, wenn das Element im Abschnitt der erweiterten Suche erscheinen soll
type (string) Typ des Elements
text: Texteingabefeld
select: Auswahlbox mit vorgegebenen Optionen für Custom-Field-Abfragen
tax-select: Taxonomie-Auswahlbox
checkbox: Checkboxen mit vorgegebenen Optionen/Labels für Custom-Field-Abfragen
tax-checkbox: taxonomiebasierte Checkboxen
radio: Radio-Elemente mit vorgegebenen Optionen/Labels für Custom-Field-Abfragen
tax-radio: taxonomiebasierte Radio-Elemente
range: Auswahlslider für einzelne Zahlenwerte oder Wertebereiche
submit: Suchen/Absenden-Button
reset: Zurücksetzen des Formulars
extended-search-toggle: erweiterte Suche ein-/ausblenden
photon-autocomplete: Ortsauswahl für Umkreissuche, Autovervollständigung via Photon (sofern in den Plugin-Optionen ausgewählt)
google-places-autocomplete: Ortsauswahl für Umkreissuche, Autovervollständigung via Goople-Places-API (sofern in den Plugin-Optionen ausgewählt)
subtype (string) Subtyp des Elements
date: Datumsauswahl (Datepicker) bei Elementen des Typs text
key (string) Name des Custom Fields oder der Taxonomie, auf den sich die Suchauswahl/-eingabe bezieht
compare (string) WP Query Compare Operator
numeric (bool) Abfrage eines numerischen Werts?
range (string) Minimal- und Maximalwert beim gleichnamigen Elementtyp im Format MIN,MAX (z. B. 0,10) oder primary_price_min_max für automatische Preisrahmen-Vorgabe
default (mixed) Standardwert
replace_null (string) Null- oder Leerwerte durch diesen String ersetzen
unit (string) Einheit (z. B. m², nur beim Elementtyp range relevant)
currency (string) Währung (nur beim Elementtyp range relevant)
label (string) Bezeichnung des Elements (wird nur bei bestimmten Elementarten angezeigt bzw. sofern vom ausgewählten Skin unterstützt)
placeholder (string) Platzhaltertext bei Eingabefeldern
classes (string) Extra-CSS-Klassen des Containerelements
order (int) Reihenfolge/Position des Elements im Formular

Rückgabewert

angepasstes Array aller Suchformular-Elemente (siehe oben)

Rahmenfunktion

Eine Funktion zur Nutzung des Filters wird typischerweise in der folgenden Form in der Datei functions.php des Child-Themes oder per Code-Snippets-Plugin eingebunden.

1
2
3
4
5
6
7
add_filter( 'inx_search_form_elements', 'mysite_modify_search_form_elements' );

function mysite_modify_search_form_elements( $elements ) {
// ...Eigenschaften der Formular-Elemente im Array $elements anpassen...

return $elements;
} // mysite_modify_search_form_elements