Wenn sie die Standard HTML Ausgaben des Plugins verändern, erweitern oder komplett ersetzten möchten, haben die mit den im folgenden aufgeführten Filter Hooks die Möglichkeit dazu. Diese richten sich an erfahrenere WordPress-Benutzer, Entwickler und Agenturen.
Filter Hook Übersicht
Fahrzeug-Einzelansicht
Alle Plugin Ausgaben der Einzelansicht verfügen über Filter – Hooks um diese zu verändern. Der Hook mit der Ergänzung _OUTPUT (z.B. DXIM_FILTER_VEHICLE_TITLE_OUTPUT) liefert Zugriff auf den eigentlichen Inhalt, während der Standard Hook (z.B. DXIM_FILTER_VEHICLE_TITLE) das gesamte Element inkl. aller umschließender Div/wrapper liefert.
Ausgabe/Darstellung der Fahrzeugbilder
DXIM_FILTER_VEHICLE_IMAGES
Fahrzeugtitel
DXIM_FILTER_VEHICLE_TITLE
DXIM_FILTER_VEHICLE_TITLE_OUTPUT
Fahrzeugeigenschaften
DXIM_FILTER_VEHICLE_SPECIFICS
DXIM_FILTER_VEHICLE_SPECIFICS_OUTPUT
Fahrzeugsonderausstattung
DXIM_FILTER_VEHICLE_FEATURES
DXIM_FILTER_VEHICLE_FEATURES_OUTPUT
Fahrzeug Post Content / Beschreibung
DXIM_FILTER_VEHICLE_POST_CONTENT
DXIM_FILTER_VEHICLE_POST_CONTENT_OUTPUT
Fahrzeugemmissionswerte
DXIM_FILTER_VEHICLE_EMISSION
DXIM_FILTER_VEHICLE_EMISSION_OUTPUT
Kontaktformulars
DXIM_FILTER_VEHICLE_FORM
DXIM_FILTER_VEHICLE_FORM_OUTPUT
Kontaktadresse
DXIM_FILTER_VEHICLE_CONTACT
DXIM_FILTER_VEHICLE_CONTACT_OUTPUT
Preis
DXIM_FILTER_VEHICLE_PRICE
DXIM_FILTER_VEHICLE_PRICE_OUTPUT
DXIM_FILTER_PRICE_SOURCE
add_filter(DXIM_FILTER_PRICE_SOURCE,'_my_dealer_price',10,2);
function _my_dealer_price($original_price,$vehicle) {
return $vehicle->dxim_meta['dealer_price'][0];
}
Buttons
DXIM_FILTER_VEHICLE_BUTTONS
DXIM_FILTER_VEHICLE_BUTTONS_OUTPUT
Highlights
DXIM_FILTER_VEHICLE_HIGHLIGHTS
DXIM_FILTER_VEHICLE_HIGHLIGHTS_OUTPUT
Fahrzeug-Übersicht
Fahrzeug-Thumbnail
DXIM_FILTER_ARCHIVE_IMAGES
Parameter 1: Plugin original HTML
Parameter 2: (Array) mit allen vorhanden Fahrzeugbildern
Parameter 3: (Array) kompletter Fahrzeugdatensatz
Titel (Herstellers und Model)
DXIM_FILTER_ARCHIVE_TITLE
DXIM_FILTER_ARCHIVE_TITLE_OUTPUT
Fahrzeugdaten
DXIM_FILTER_ARCHIVE_SPECIFICS
Parameter 1: Plugin original HTML
Parameter 2: (Array) alle Fahrzeug Custom Fields
Parameter 3: (Array) alle relevanten techn. Daten zum Fahrzeug
DXIM_FILTER_ARCHIVE_SPECIFICS_OUTPUT
Fahrzeug-Emissionswerte
DXIM_FILTER_ARCHIVE_EMISSION
DXIM_FILTER_ARCHIVE_EMISSION_OUTPUT
Fahrzeug-Preis
DXIM_FILTER_ARCHIVE_PRICE
DXIM_FILTER_ARCHIVE_PRICE_OUTPUT
DXIM_FILTER_PRICE_SOURCE
// anderes Feld als Preis-Quelle wählen, z.b. Händler-Preis
add_filter(DXIM_FILTER_PRICE_SOURCE,'_my_dealer_price',10,2);
function _my_dealer_price($original_price,$vehicle) {
return $vehicle->dxim_meta['dealer_price'][0];
}
Fahrzeug-Buttons
DXIM_FILTER_ARCHIVE_BUTTONS
DXIM_FILTER_ARCHIVE_BUTTONS_OUTPUT
Fahrzeug – Daten filtern
Folgende Filter Hook dienen dazu, die abgefragten Fahrzeug-Daten zu manipulieren, bevor diese in die Funktionen zur HTML Ausgabe weiter gesendet werden
- DXIM_FILTER_VEHICLE_TITLE_DATA
- DXIM_FILTER_VEHICLE_CONTENT_DATA
- DXIM_FILTER_VEHICLE_LOCATION_DATA
- DXIM_FILTER_VEHICLE_IMAGES_DATA
- DXIM_FILTER_VEHICLE_EMISSION_DATA
- DXIM_FILTER_VEHICLE_PRICE_DATA
- DXIM_FILTER_VEHICLE_FEATURES_DATA
- DXIM_FILTER_VEHICLE_SPECIFICS_DATA
DXIM_FILTER_MAKE_NAME
Ändern des Anzeigenamens eines bestimmten Herstellers
Beispiel
add_filter(DXIM_FILTER_MAKE_NAME,function($name, $key) {
// stellt Skoda überall großgeschrieben dar
if($name == "Skoda") return "SKODA";
},10,2);
DXIM_FILTER_MODEL_NAME
Ändern des Anzeigenamens eines bestimmten Modells
Fahrzeug Archiv
DXIM_FILTER_ARCHIVE_VEHICLE_RENDERED
Hook läuft für jedes Fahrzeug im Archiv, bevor dieses gerendert wurde. So kann ein das Fahrzeug-Html manipuliert werden, oder nach einem bestimmten Fahrzeug weiterer HTML Code ausgegeben werden.
Parameter 1: Fahrzeug-HTML
Parameter 2: Fahrzeug – Objekt
DXIM_FILTER_ARCHIVE_VEHICLE_LIST
Hook mit dem die gesamte Ausgabe einer Fahrzeugliste (WPCS_Vehicles / WPCS_Cars) gefilter werden kann
Parameter 1: $html
DXIM_FILTER_ARCHIVE_VEHICLE_LIST_NO_RESULTS
Hook mit dem die gesamte Ausgabe der Nachricht verändert werden kann, wenn keine Fahrzeuge gefunden wurden
Parameter 1: $html
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_QUERY_VALIDATE_VEHICLE
Mit diesem Hook filtern sie die Fahrzeuge, die auf einer bestimmten Seite dargestellt werden. Dies ist eine Alternative zu den globalen Filtern, mit der sich direkt im PHP Code flexibler filter lässt.
Beispiel:
Zeigt alle Fahrzeuge der Marke Peugeot & BMW an, wenn es sich um die Seite mit der ID 11674 handelt.
add_filter(DXIM_FILTER_QUERY_VALIDATE_VEHICLE,'_my_wpcs_query_filter',10,3);
function _my_wpcs_query_filter($post, $page_id, $filterData) {
if($page_id == 11674) {
$make = $post->dxim_meta['make'][0];
// return null wenn Fahrzeug nicht angezeigt werden darf
if($make != "PEUGEOT" && $make != "BMW") return null;
}
// return $post wenn Fahrzeug angezeigt werden darf
return $post;
}
Tipp! Sie sollten immer, so wie im Beispiel, auf die Seiten – ID prüfen, da sich der Filter sonst auf alle Seiten auswirkt.
DXIM_FILTER_QUERIED_VEHICLES
Array in dem sich alle Fahrzeuge der Datenbank befinden
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_VEHICLE_SINGLE_PAGE_TITLE
Filtert die Ausgabe des HTML Title Tags
add_filter(DXIM_FILTER_VEHICLE_SINGLE_PAGE_TITLE,function($title, $vehicle) {
return $title." - ".get_bloginfo('name');
},10,2);
allgemeine Filter Hooks
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;
}
Shortcodes
DXIM_FILTER_SHORTCODE_WPCS_CARS
Parameter 1: liefert Plugin original HTML
Parameter 2: liefert alle Fahrzeuge, die anhand der Shortcode-Parameter selektiert wurden
Parameter 3: Liefert alle Parameter, die an den Shortcode übergeben wurden
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);