Auf dieser Seite finden Sie eine Sammlung verschiedenster Filter Hooks, um Plugin Ausgaben oder Daten zu verändern.
In der Dokumentation sind weitere Filter Hooks direkt bei den beschriebenen Funktionen zu finden, zum Beispiel zur Fahrzeug-Übersicht, Fahrzeug-Einzelansicht, Kontakformular, etc…
Custom Field Hooks
DXIM_FILTER_VEHICLE_FIELD_key
* = key, welcher das Custom Field repräsentiert
Um z.B. die Ausgabe des Kraftstoffs zu verändern, nutzen sie den Hook DXIM_FILTER_VEHICLE_FIELD_FUEL
Beispiel:
add_filter(DXIM_FILTER_VEHICLE_FIELD_FUEL,'_filter_fuel'],10,3);
function _filter_fuel($value, $key, $vehicle) {
return "...";
}
Filter Formular
DXIM_FILTER_FORM_FILTERS_ARRAY
Dieser Shortcode liefert das Array, in welchem alle Möglichen Filter definiert sind. Hier können einzelne Filter verändert oder entfernt werden, oder auch eigenen Filter hinzugefügt werden.
Beispiel
add_filter(DXIM_FILTER_FORM_FILTERS_ARRAY,'_my_custom_filter',10,1);
function _my_custom_filter($filters) {
// verändern des filters maximaler Preis von Slider nach Auswahlbox
$filters['price_max']['type'] = "select";
// keine Mehrfachauswahl für
$filters['price_max']['multiple'] = 0;
// Options Elemente für Select-Box füllen
$filters['price_max']['value'] = ['values here'];
return $filters;
}
Fahrzeug Import Hooks
DXIM_FILTER_VEHICLE_BEFORE_IMPORT
Mit diesem Hook können sie Fahrzeuge gänzlich vom Import ausschließen.
Parameter 1: $data (liefert das zu importierende Fahrzeug inkl. aller Werte)
Rückgabewerte:
1) das übergebene (oder modifierte) Fahrzeug $data aus Parameter 1
2) null um den Import des Fahrzeuges zu überspringen
Beispiel:
Importiert nur Fahrzeuge die NEU oder Tageszulassungen sind
add_filter(DXIM_FILTER_VEHICLE_BEFORE_IMPORT,'_my_filter_wpcs_import',10,1); function _my_filter_wpcs_import($data) { if( $data['post_meta']['specific_condition'] == "NEW" || ($data['post_meta']['specific_condition'] == "USED" && $data['post_meta']['specific_usage_type'] == "DEMONSTRATION") ) { return $data; } return null; }
Template Hooks
DXIM_FILTER_SELECT_LOOP_TEMPLATE
Mit diesem Hook überschreiben sie zur Laufzeit das zu ladende Template, welches ein Fahrzeug in einer Liste darstellt.
add_filter(DXIM_FILTER_SELECT_LOOP_TEMPLATE,'_my_template',10,1);
function _my_template($template_file) {
return "path/to/new/template.php";
}
Permalinks
DXIM_FILTER_REWRITE_RULES
Mit diesem Hook lässt sich die Url Struktur für Fahrzeug – Archiv und Einzelansicht ändern
add_filter(DXIM_FILTER_REWRITE_RULES,'_my_rules',10,1);
function _my_rules($rules) {
// modify rules array here
return $rules;
}
DXIM_FILTER_VEHICLE_PERMALINK
Mit diesem Hook ändern sie den Permalink eines Fahrzeuges. Nur notwendig, wenn Sie die Permalink Struktur mittels DXIM_FILTER_REWRITE_RULES angepasst haben.
Parameter 1: der originale Link zum Fahrzeug
Parameter 2: Array mit den einzelnen Linkbestandteilen
Parameter 3: (WP_POST) das Fahrzeug
add_filter(DXIM_FILTER_VEHICLE_PERMALINK,'_my_custom_link',10,3);
function _my_custom_link($link, $data_link, $vehicle) {
// modify rules array here
return $rules;
}
Query Hooks
DXIM_FILTER_FORM_GLOBAL_FILTERS
Setzt einen globalen Filter
Beispiel 1: Seite mit ID 123 zeigt Marke Peugeot
add_action(DXIM_FILTER_FORM_GLOBAL_FILTERS, function($globalData) {
$current_page = \DXIM\VehicleFilter::getInstance()->getCurrentPage();
if($current_page != 123) return $globalData;
$globalData['make'] = "PEUGEOT";
return $globalData;
},10,1);
Beispiel 2: Seite mit ID 123 exkludiert Marke Peugeot
add_action(DXIM_FILTER_FORM_GLOBAL_FILTERS, function($globalData) { $current_page = \DXIM\VehicleFilter::getInstance()->getCurrentPage(); if($current_page != 123) return $globalData; $globalData['make'] = "PEUGEOT"; $field = VehicleFields::getField("make"); $field['meta_query']['compare'] = "!="; VehicleFields::setField("make", $field); return $globalData; },10,1);
DXIM_FILTER_VEHICLE_SQL_ADD_CONDITION
Ergänzen Sie die Mysql Query mit weiteren Bedingungen
Beispiel: Seite mit ID 123 soll nur sofort verfügbare Fahrzeuge anzeigen
add_action(DXIM_FILTER_VEHICLE_SQL_ADD_CONDITION, function($sql) { $current_page = \DXIM\VehicleFilter::getInstance()->getCurrentPage(); if($current_page != 123) return $sql; $sql .= " AND delivery_date <= NOW() "; return $sql; },10,1);
DXIM_FILTER_VEHICLE_QUERY_ORDERBY_SQL
Ändert die Orderby – Klausel der MySql-Query der Fahrzeugabfrage
add_filter(DXIM_FILTER_VEHICLE_QUERY_ORDERBY_SQL, function($sql, $orderby, $order) {
$new_order = "ORDER BY post_name ASC";
return $new_order;
},10,3);
DXIM_FILTER_QUERIED_VEHICLE_DATA
Wird für jedes Fahrzeug aufgerufen, nach dem es aus der Datenbank abgerufen wurde. Fahrzeug-Daten können an dieser Stelle temporär zur Laufzeit geändert werden
Seo
dxim_filter_schema_POST_TYPE
WPCarSync stellt für einige PostTypes strukturierte Daten bereit, die Suchmaschinen die Bedeutung der einzelnen Seite besser verstehen lassen. Die Zeichenkette POST_TYPE im Hook muss durch den Namen des PostTypes ersetzt werden, dessen Daten verändert werden sollen.
Hier ein Beispiel, um die strukturierten Daten für den Post Type „vehicle“ zu verändern:
add_filter('dxim_filter_schema_vehicle', function($schema, $post) {
$schema['name'] = "Mein neuer Fahrzeugname";
return $schema;
},10,1);
Auswahlboxen
DXIM_FILTER_WPCSSELECT_NOTHING_SELECTED_TEXT
Verwenden Sie diesen Hook, um die Anzeige für „keine Auswahl“ zu verändern, Standard ist „- – -„
Labels der Filterformulare verändern
DXIM_FILTER_FILTERFORM_LABEL
Parameter 1: Originaltext (z.B. bei Hersteller „make“)
Parameter 2: Array mit dem aktuellen Filter
Beispiel
add_filter(DXIM_FILTER_FILTERFORM_LABEL,'_filter_filterform_label',10,2);
function _filter_filterform_label($text,$filter) {
if($filter == "make") $text = "Manufacturer";
return $text;
}
Labels der Fahrzeug-Eigenschaften ändern
DXIM_FILTER_SPECIFICS_LABEL
Parameter 1: Originaltext
Parameter 2: Array mit Angaben zum entsprechenden Feld
Beispiel
add_filter(DXIM_FILTER_SPECIFICS_LABEL,'_filter_filter_label',10,2);
function _filter_filter_label($text,$data) {
if($data['key'] == "general_inspection") $text = "zugelassen am";
return $text;
}
Pagination
DXIM_FILTER_PAGINATION_SEPARATOR
Trennerzeichen der Seitennummerierung
Parameter 1: Plugin original HTML
Sortierung
DXIM_FILTER_FORM_ORDER_ARRAY
Filtert das Array der Sortierkriterien
Beispiel:
Preis aus den Sortierkriterien entfernen.
add_filter(DXIM_FILTER_FORM_ORDER_ARRAY,function($orderArray) {
unset($orderArray['price']);
return $orderArray;
},10,1);