• Resolved purado

    (@purado)


    Hallo,

    ich brauche im Checkout ein Extra-Feld “Titel”. Das kann z. B. ein akademischer Grad wie “Prof. Dr.” oder ein Adelstitel sein.
    Der Titel soll in allen weiteren Schritten Namensbestandteil sein. Es soll also z. B. “Prof. Dr. Hans Mustermann” in der Rechnung stehen.

    Habe das Feld “billing_nobility” mit dem Plugin “Checkout Field Editor for WooCommerce” angelegt und das wird auch im Checkout und in den Mails verwendet:

    add_filter( 'woocommerce_order_formatted_billing_address' , 'th56t_woo_custom_order_formatted_billing_address', 10, 2 );
    function th56t_woo_custom_order_formatted_billing_address( $address, $WC_Order ) {
         
    	$address['billing_nobility'] = get_post_meta( $WC_Order->get_id(), 'billing_nobility', true );
        return $address;
    
    }
    
    add_filter( 'woocommerce_formatted_address_replacements', function( $replacements, $args ){
    	$replacements['{billing_nobility}'] = isset($args['billing_nobility']) ? $args['billing_nobility'] : (WC()->checkout->get_posted_address_data( "nobility", "billing" ) ? WC()->checkout->get_posted_address_data( "nobility", "billing" ) : '');
        return $replacements;
    
    }, 10, 2 );
    
    add_filter( 'woocommerce_localisation_address_formats' , 'woo_includes_address_formats', 10, 1);
    function woo_includes_address_formats($address_formats) {
    	
        $address_formats['default'] = "{billing_nobility}\n{first_name} {last_name}\n{company}\n{address_1}\n{address_2}\n{postcode} {city}\n{country}";
    	$address_formats['DE']      = "{billing_nobility}\n{first_name} {last_name}\n{company}\n{address_1}\n{address_2}\n{postcode} {city}\n{country}"; // Address format for Germany
    
        return $address_formats;
    
    }

    Allerdings hat das bisher keine Auswirkung auf den Namen in der PDF-Rechnung von Germanized.
    Wie bekomme ich den Titel als Teil des Namens in die Rechnungsadresse im PDF?

    Vielen Dank!

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author vendidero

    (@vendidero)

    Hi,

    Problem ist, dass vermutlich dein Titel nicht korrekt in die (Adress-) Daten der Rechnung übernommen werden. Das liegt daran, dass du nicht den Filter woocommerce_get_order_address verwendest. über diesen Filter solltest du also dein zus?tzliches Feld ebenfalls übergeben.

    Beispiel:

    add_filter( 'woocommerce_get_order_address', function( $order_address_data, $type, $order ) {
       if ( 'billing' === $type ) {
          $order_adress_data['nobility'] = $order->get_meta( 'billing_nobility', true );
       }
    
       return $order_address_data;
    }, 10, 3 );

    PS: Bitte verwende die WC_Order Methoden um Daten abzurufen, nicht get_post_meta – das wird in Zukunft mit der HPOS Funktion nicht mehr ordentlich funktionieren.

    Grü?e

    Thread Starter purado

    (@purado)

    Vielen Dank für die superschnelle Reaktion! Hat mir sehr geholfen, jetzt funktioniert es wie gewünscht!

    Hinweis, falls noch jemand das Snippet nutzt: Im Beispiel fehlt in der Variable $order_address_data einmal ein “d” ($order_adress_data).

    Habe auch wie empfohlen auf die WC_Order Methode umgestellt.

    Danke!

    Plugin Author vendidero

    (@vendidero)

    Hi,

    freut mich sehr zu h?ren!

    Im Beispiel fehlt in der Variable $order_address_data einmal ein “d” ($order_adress_data).

    Stimmt, das war ein kleiner Typo – danke für den Hinweis!

    Wenn du mit unserem Support und Germanized zufrieden bist, würden wir uns sehr über eine Bewertung freuen.

    Grü?e

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Titel (z. B. “Professor”) als Namensteil in PDF-Rechnung’ is closed to new replies.