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 Ü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);

Lizenz wählen

Newsletter - Anmeldung

* erforderlich