Eigene Platzhalter erstellen/implementieren

Das Plugin erlaubt die Erstellung eigener Platzhalter mittels Hooks/Filtern. Damit kannst du z.B. eigene Meta-Daten übergeben, komplizierte Berechnungen durchführen, Platzhalter mit Logik (if... else...) erstellen.

Dazu kommt der Hook "wcdtvfe_replace_placeholders" zum Einsatz.

Beispiel

add_filter( 'wcdtvfe_replace_placeholders', 'wcdtvfe_c_replace_placeholders', 5, 2);

function wcdtvfe_c_replace_placeholders( $accounting_record, $order ) {
    foreach( $accounting_record as $key => &$value ) {
        if( gettype( $value ) == "string" ) {
            $custom_order_id = $order->get_meta( '_order_number' );

            // Only replace if custom meta key is set, else use the default order number (which will be replaced by "default" plugin behaviour)
            if( strlen( $custom_order_id ) > 0 ) {
                $value = str_replace( "%%order_id%%", $order->get_meta( '_order_number' ), $value);
            }                    
        }
    }

    return $accounting_record;
}

Der Filter übergibt den Buchungssatz (Accounting Record). Das ist ein Array mit verschiedenen Keys, die dann in den jeweiligen Spalten der Export-Datei landen.

Hier iterieren wir durch das gesamte Array und ersetzen überall %%order_id%% mit einem eigenen Meta-Schlüssel. Das konkrete Beispiel ist die Integration für ein Sequential Order Number-Plugin.

Priorität des Filters

Die Plugin-eigenen Platzhalter werden mit Priorität 10 ausgeführt. Wenn du daher Plugin-eigene Platzhalter mit eigener Logik ersetzen willst (wie hier im Beispiel), musst du eine niedrigere Priorität wählen. Bei ganz eigenen Platzhaltern spielt die Priorität in der Regel keine Rolle.

Sie haben Fragen oder möchten ein Angebot anfordern?

Jetzt Kontakt aufnehmen
crosslist