WooCommerce új mező hozzáadása – Közösségi adószám

Többször is felmerült már fórumokon, csoportokban, hogy miként tudunk új mezőt hozzáadni a Pénztár oldalhoz ahol megadjuk a vásárláshoz szükséges adatainkat.

Legfőképp a közösségi adószám mezőről szól a dolog, így bemutatnám, hogy miként tudjuk azt hozzáadni az oldalunkhoz.

  1. lépés: Lépj a WP-Adminba, majd a Megjelenés -> Szerkesztő menübe
    wp1
  2.  lépés: Válaszd ki jobb oldalon a functions.php-twp2
  3. lépés: Illeszd be a következő kódot a php végére, de még a php záró tag „?>” elé
     
    /* ***Hozzáadjuk az új mezőt*** */
    add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
     
    // Our hooked in function - $fields is passed via the filter!
    function custom_override_checkout_fields( $fields ) {
         $fields['billing']['woo_kozzossegi']['label'] = 'Közösségi adószám';
         return $fields;
    }
     
    /* ***Módosítjuk a sorrendet*** */
    add_filter('woocommerce_checkout_fields','reorder_woo_fields');
     
    function reorder_woo_fields($fields) {
            //move these around in the order you'd like
            $fields2['billing']['billing_first_name'] = $fields['billing']['billing_first_name'];
            $fields2['billing']['billing_last_name'] = $fields['billing']['billing_last_name'];
            $fields2['billing']['billing_company'] = $fields['billing']['billing_company'];
            $fields2['billing']['woo_kozzossegi'] = $fields['billing']['woo_kozzossegi'];
            $fields2['billing']['billing_address_1'] = $fields['billing']['billing_address_1'];
            $fields2['billing']['billing_address_2'] = $fields['billing']['billing_address_2'];
            $fields2['billing']['billing_city'] = $fields['billing']['billing_city'];
            $fields2['billing']['billing_postcode'] = $fields['billing']['billing_postcode'];
            $fields2['billing']['billing_country'] = $fields['billing']['billing_country'];
            $fields2['billing']['billing_state'] = $fields['billing']['billing_state'];
            $fields2['billing']['billing_email'] = $fields['billing']['billing_email'];
            $fields2['billing']['billing_phone'] = $fields['billing']['billing_phone'];
     
            //just copying these (keeps the standard order)
            $fields2['shipping'] = $fields['shipping'];
            $fields2['account'] = $fields['account'];
            $fields2['order'] = $fields['order'];
     
            return $fields2;
    }
     
    /* ***Elmentjük az új mezőt*** */
    add_action( 'woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta' );
     
    function my_custom_checkout_field_update_order_meta( $order_id ) {
        if ( ! empty( $_POST['woo_kozzossegi'] ) ) {
            update_post_meta( $order_id, 'billing_woo_kozzossegi', sanitize_text_field( $_POST['woo_kozzossegi'] ) );
        }
    }
    

Most már megjelenik a Pénztár oldalon az új mező, de még nem jött létre a rendszerbe. Adj le egy próba rendelést az új mező kitöltésével. (Addig ne lépj tovább)

Hozzáadás a Rendelések oldal egy új oszlopába:

Telepítsd a következő plugint: Admin Columns

wp3Telepítés után menj a WooCommerce -> Rendelések oldalra és válaszd az oszlopok szerkesztése opciót.

Alul kattints az Oszlop hozzáadása gombra:

wp4Az alábbi szerint állítsd be a mezőket:

wp5Végül jobb fent mentsd el a beállításokat:

wp6Ekkor a WooCommerce -> Rendelések oldalon már látnod kell az előző rendelésben leadott Közösségi Adószámot.

Ha szeretnéd, hogy a WooCommerce PDF Invoices & Packing Slips bővítménybe is bekerüljön az új mező, akkor töröld le a bővítményt és ezt a verziót telepítsd:

Letöltés

Nyilván nem tudom állandóan frissíteni, de ha jeleztek kommentben, akkor mindenképp fogom.

Hozzászólás