WordPress Filter Hooks zur Modifikation der Plugin Ausgaben

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

Lizenz wählen

Subscribe

* indicates required