WordPress Filter Hooks zur Modifikation der Plugin Ausgaben

Hookverzeichnis

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 Fields

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 "...";
}
				
			

Filterformular

DXIM_FILTER_FORM_FILTERS_ARRAY

Dieser Hook 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;
}
				
			

DXIM_FILTER_FORM_SELECT_DATA

Dieser Hook liefert ein Array mit allen Werten zu einem Filter

Beispiel
Umsortierung der Hersteller

				
					add_filter(DXIM_FILTER_FORM_SELECT_DATA,'_my_custom_function',10,2);
function _my_custom_function($data, $field) {
    if ($field == "make") {

        $new_array = [];
        if (isset($data['VW'])) $new_array['VW'] = $data['VW'];
        if (isset($data['AUDI'])) $new_array['AUDI'] = $data['AUDI'];

        unset($data['VW'], $data['AUDI']);
        $data = array_merge($new_array, $data);
     }

    return $data;
}
				
			

Fahrzeug - Import

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

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;

}
				
			

Fahrzeugabfrage

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 / Schema

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

Formularelemente

DXIM_FILTER_WPCSSELECT_NOTHING_SELECTED_TEXT

Verwenden Sie diesen Hook, um die Anzeige für „keine Auswahl“ des Select – Elements zu verändern, Standard ist „- – -„

DXIM_FILTER_FILTERFORM_LABEL

Hook zum ändern der Feldbeschriftungen / Feldnamen

Parameter 1: Originaltext (z.B. bei Hersteller „make“)
Parameter 2: Array mit dem aktuellen Filter

				
					add_filter(DXIM_FILTER_FILTERFORM_LABEL,'_filter_filterform_label',10,2);
function _filter_filterform_label($text,$filter) {
    if($filter == "make") $text = "Manufacturer";
    return $text;
}
				
			

DXIM_FILTER_SPECIFICS_LABEL

Hook zum ändern der Namen der angezeigten Werte.

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

DXIM_FILTER_PAGINATION_SEPARATOR

Trennerzeichen der Seitennummerierung
Parameter 1: Plugin original HTML

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