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 Beispiel
Sehen Sie sich dieses Beispiel an, um die Ausgabe der Buttons in der Fahrzeugübersicht zu überschreiben
Der zu verwendenenden Filter Hook lautet DXIM_FILTER_ARCHIVE_BUTTONS
add_filter(DXIM_FILTER_ARCHIVE_BUTTONS,'_my_custom_buttons',10,2); function _my_custom_buttons($original, $vehicle) {
return '... code here';
}
Parameter 1: $original enthält den vom Plugin erstellten HTML Code
Parameter 2: $vehicle enthält ein WP_POST Objekt erweitert um alle Fahrzeug spezifischen Felder
Dieser Code würde alle Buttons durch den eigenen Code ersetzen.
Möchsten Sie nun aber einen weiteren Button vor oder nach den bestehenden Buttons hinzufügen, können die diese speziellen Filter-Hook verwenden:
– DXIM_FILTER_ARCHIVE_BUTTONS_BEFORE
– DXIM_FILTER_ARCHIVE_BUTTONS_AFTER
Mit den _BEFORE und _AFTER Hooks, lassen sich Ausgaben direkt vor oder hinter die originale Plugin-Ausgabe, aber immer innerhalb des umschließenden Wrapper-Div, platzieren.
_BEFORE und _AFTER Hooks erhalten immer nur einen Parameter, und zwar das WP_Post Objekt des Fahrzeuges selbst.
Ein weiteres Beispiel, um einen Button hinter den bestehenden Buttons hinzuzufügen:
Vorher
// bitte beachten Sie dass der $original Parameter bei _BEFORE und _AFTER Filtern immer NULL ist add_filter(DXIM_FILTER_ARCHIVE_BUTTONS_AFTER,'_my_custom_buttons_after',10,2); function _my_custom_buttons_after($original, $vehicle) { return '<href="#" class="dxim_button">mein button</a>'; }
Nachher
Filter Hook Übersicht
Fahrzeug-Einzelansicht
Die folgenden Filter-Hooks folgen alle dem oben aufgeführten Schema:
Ausgabe/Darstellung der Fahrzeugbilder
DXIM_FILTER_VEHICLE_IMAGES
(keine _BEFORE oder _AFTER)
Fahrzeugtitels
DXIM_FILTER_VEHICLE_TITLE
DXIM_FILTER_VEHICLE_TITLE_BEFORE
DXIM_FILTER_VEHICLE_TITLE_AFTER
Fahrzeugeigenschaften
DXIM_FILTER_VEHICLE_SPECIFICS
DXIM_FILTER_VEHICLE_SPECIFICS_BEFORE
DXIM_FILTER_VEHICLE_SPECIFICS_AFTER
Fahrzeugsonderausstattung
DXIM_FILTER_VEHICLE_FEATURES
DXIM_FILTER_VEHICLE_FEATURES_BEFORE
DXIM_FILTER_VEHICLE_FEATURES_AFTER
Fahrzeug Post Content / Beschreibung
DXIM_FILTER_VEHICLE_POST_CONTENT
DXIM_FILTER_VEHICLE_POST_CONTENT_BEFORE
DXIM_FILTER_VEHICLE_POST_CONTENT_AFTER
Fahrzeugemmissionswerte
DXIM_FILTER_VEHICLE_EMISSION
DXIM_FILTER_VEHICLE_EMISSION_BEFORE
DXIM_FILTER_VEHICLE_EMISSION_AFTER
Kontaktformulars
DXIM_FILTER_VEHICLE_FORM
DXIM_FILTER_VEHICLE_FORM_BEFORE
DXIM_FILTER_VEHICLE_FORM_AFTER
Kontaktadresse
DXIM_FILTER_VEHICLE_CONTACT
DXIM_FILTER_VEHICLE_CONTACT_BEFORE
DXIM_FILTER_VEHICLE_CONTACT_AFTER
Preis
DXIM_FILTER_VEHICLE_PRICE
DXIM_FILTER_VEHICLE_PRICE_BEFORE
DXIM_FILTER_VEHICLE_PRICE_AFTER
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_BEFORE
DXIM_FILTER_VEHICLE_BUTTONS_AFTER
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_BEFORE
DXIM_FILTER_ARCHIVE_TITLE_AFTER
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_BEFORE
DXIM_FILTER_ARCHIVE_SPECIFICS_AFTER
Fahrzeug-Emissionswerte
DXIM_FILTER_ARCHIVE_EMISSION
DXIM_FILTER_ARCHIVE_EMISSION_BEFORE
DXIM_FILTER_ARCHIVE_EMISSION_AFTER
Fahrzeug-Preis
DXIM_FILTER_ARCHIVE_PRICE
DXIM_FILTER_ARCHIVE_PRICE_BEFORE
DXIM_FILTER_ARCHIVE_PRICE_AFTER
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_BEFORE
DXIM_FILTER_ARCHIVE_BUTTONS_AFTER
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
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 "..."; }
Import Hooks
DXIM_FILTER_VEHICLE_BEFORE_IMPORT
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; }
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