WordPress Filter Hooks zur Modifikation der Plugin Ausgaben

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