Tovább a tartalomhoz

Cégnév, számlázási cím és országok

A cégnév mező elrejtése vagy kötelezővé tétele, a Cím 2 kötelezővé tétele, a számlázási cím mezőinek eltávolítása, a kiemelt országok, az utcai házszám ellenőrzése és más címbeállítások.

A fejezet a pénztár címmezőinek gyakori módosításait gyűjti össze. Ahol kódot írunk, azt a CheckoutWC → Haladó → Szkriptek fülön a PHP kódrészletek mezőbe másold (a nyitó <?php címke nélkül), vagy a gyermektéma functions.php fájljába, esetleg egy kódrészlet-kezelő bővítménybe. A mező leírása a Haladó beállítások fejezetben van.

A cégnév mező: rejtett, nem kötelező vagy kötelező

Szekció neve “A cégnév mező: rejtett, nem kötelező vagy kötelező”

A cégnév mezőt a WooCommerce vezérli, a beállítása a Testreszabóban van. Ugyanitt állítható a Cím második sora mező és a Telefonszám mező is.

  1. Jelentkezz be adminként, és nyisd meg a pénztároldalt a webáruház felületén.
  2. Kattints az eszköztár Testreszabás gombjára.
  3. Válaszd a WooCommerce → Pénztár menüpontot.
  4. A Cégnév mező legördülőben válaszd ki az egyik állapotot: Rejtett, Nem kötelező vagy Kötelező.
  5. Kattints a Közzététele gombra.
https://minta-bolt.hu/wp-admin/customize.php?autofocus[section]=woocommerce_checkout
A Testreszabó WooCommerce Pénztár szakasza a Cégnév, a Cím második sora és a Telefonszám mező beállításaival

A képen a bal oldali panel három legördülője látszik. A Rejtett érték eltávolítja a mezőt, a Kötelező érték csillagot kap és kitöltés nélkül nem lehet rendelni. A beállítás a számlázási és a szállítási címre is egyszerre érvényes.

A Cím 2 mezőt ugyanitt teheted kötelezővé: a Cím második sora mező legördülőt állítsd Kötelező értékre, és kattints a Közzététele gombra.

Ha csak a szállítási címnél kell kötelező a mező, használd ezt a kódot:

add_filter( 'woocommerce_checkout_fields', 'require_shipping_address2_checkout_field' );
function require_shipping_address2_checkout_field( $fields ) {
$fields['shipping']['shipping_address_2']['required'] = true;
return $fields;
}

A számlázási címnél ugyanez a minta működik: a kódban a shipping szavakat írd át billing-re.

Az opcionális telefonmező is a Testreszabóban kapcsolható: a Telefonszám mező legördülőt állítsd Nem kötelező értékre (a CheckoutWC saját Telefon mező beállításáról a Telefon, megjegyzés, kupon és e-mail mező fejezetben olvashatsz). Ez a számlázási és a szállítási címnél is megjeleníti a mezőt. Opcionális mezőt csak akkor tegyél be, ha tényleg szükséged van a számra, mert a felesleges mező csökkentheti a megrendelések számát.

Ha a rendeléseid többsége néhány országból érkezik, ezeket az ország legördülő lista tetejére rakhatod.

  1. Nyisd meg a CheckoutWC → Oldalak → Pénztár fület.
  2. A Mező opciók szakaszban kapcsold be a Kiemelt országok engedélyezése beállítást, és válaszd ki az országokat.
  3. Kattints a Módosítások mentése gombra a képernyő jobb felső sarkában.
https://minta-bolt.hu/wp-admin/admin.php?page=cfw-settings-checkout
A Mező opciók szakasz a kiemelt országok beállításával

Mentés után a kiválasztott országok a lista elején jelennek meg a pénztáron.

Ha fizikai terméket árulsz, és nem kell külön számlázási cím, használhatod a WooCommerce beépített beállítását.

  1. Nyisd meg a WooCommerce → Beállítások oldalt.
  2. Kattints a Szállítás fülre, majd a Szállítási beállítások alfülre.
  3. A Szállítási cél beállításnál válaszd a Szállítás kényszerítése a vásárló számlázási címére lehetőséget, és kattints a Módosítások mentése gombra.
https://minta-bolt.hu/wp-admin/admin.php?page=wc-settings&tab=shipping&section=options
A WooCommerce Szállítási beállítások oldala a Szállítási cél választókkal

A képen a Szállítási cél három választógombja látszik, a harmadik kapcsolja ki a külön szállítási címet.

  1. Ha a címsort is át akarod írni (alapból „Számlázási és szállítási cím”), használd ezt a kódot:
add_filter( 'cfw_billing_shipping_address_heading', function ( $heading ) {
return 'Szállítási cím';
} );

Digitális termékek: számlázási címmezők eltávolítása

Szekció neve “Digitális termékek: számlázási címmezők eltávolítása”

Ha nincs szükséged teljes számlázási címre, két dolgot kell tenni: kivenni a mezőt a pénztárból, és közölni a WooCommerce-szel, hogy a mező nem kötelező. A következő kód mindkettőt elvégzi, a nem kért sorokat töröld ki belőle:

add_filter( 'cfw_get_billing_checkout_fields', 'remove_checkout_fields', 100 );
function remove_checkout_fields( $fields ) {
unset( $fields['billing_company'] );
unset( $fields['billing_city'] );
unset( $fields['billing_postcode'] );
unset( $fields['billing_country'] );
unset( $fields['billing_state'] );
unset( $fields['billing_address_1'] );
unset( $fields['billing_address_2'] );
return $fields;
}
// A számlázási címmezők ne legyenek kötelezők
add_filter( 'woocommerce_checkout_fields', 'unrequire_checkout_fields' );
function unrequire_checkout_fields( $fields ) {
$fields['billing']['billing_company']['required'] = false;
$fields['billing']['billing_city']['required'] = false;
$fields['billing']['billing_postcode']['required'] = false;
$fields['billing']['billing_country']['required'] = false;
$fields['billing']['billing_state']['required'] = false;
$fields['billing']['billing_address_1']['required'] = false;
$fields['billing']['billing_address_2']['required'] = false;
return $fields;
}

Fontos: ha az Ország mező megmarad, az Állam mezőnek is meg kell maradnia, különben hibák keletkeznek, mert a WooCommerce ország- és államkezelője csak együtt működik jól.

Ha azt szeretnéd, hogy a vásárlónak mindig látszódjon és kitölthető legyen a számlázási cím is, használd ezt:

add_filter( 'cfw_force_display_billing_address', '__return_true' );

A számlázási cím a fizetési módok fölé

Szekció neve “A számlázási cím a fizetési módok fölé”

Alapból a fizetési módok után jön a számlázási cím. A sorrend megfordítható:

remove_action( 'cfw_checkout_payment_method_tab', 'cfw_payment_methods', 10 );
remove_action( 'cfw_checkout_payment_method_tab', 'cfw_payment_tab_content_billing_address', 20 );
add_action( 'cfw_checkout_payment_method_tab', 'cfw_payment_tab_content_billing_address', 10 );
add_action( 'cfw_checkout_payment_method_tab', 'cfw_payment_methods', 20 );

Az alapország kiírása a címelőnézetben

Szekció neve “Az alapország kiírása a címelőnézetben”

A WooCommerce alapból nem írja ki az országot a formázott címben, ha az megegyezik a bolt alapországával. Ha mindig látszódjon:

add_filter( 'woocommerce_formatted_address_force_country_display', '__return_true' );

A webhely neve a fiók létrehozása felirat

Szekció neve “A webhely neve a fiók létrehozása felirat”

A Fiók létrehozása jelölőnégyzet felirata a webhely nevét tartalmazza. Más névre így cserélheted:

add_filter( 'cfw_create_account_site_name', 'change_create_account_site_name' );
function change_create_account_site_name( $site_name ) {
$site_name = 'Minta Kft.';
return $site_name;
}

Ezzel a kóddal a pénztár csak olyan Cím 1 értéket fogad el, amely tartalmaz számot (házszámot). A beépített hosszellenőrzést is kikapcsolja. A hibaüzenet szövegét írd át a sajátodra.

add_filter(
'woocommerce_default_address_fields',
function ( $fields ) {
unset( $fields['postcode']['custom_attributes']['data-parsley-length'] );
$fields['address_1']['custom_attributes']['data-parsley-pattern'] = '/^(?=.*\d).+$/';
$fields['address_1']['custom_attributes']['data-parsley-error-message'] = __( 'A címnek tartalmaznia kell a házszámot.', 'your-translation-domain' );
return $fields;
},
100001
);

Ha lakás- vagy ajtószámot is el kell várnod (csak akkor kapcsold be, ha biztosan szükséged van rá), a mintát és az üzenetet erre cseréld:

add_filter(
'woocommerce_default_address_fields',
function ( $fields ) {
unset( $fields['postcode']['custom_attributes']['data-parsley-length'] );
$fields['address_1']['custom_attributes']['data-parsley-pattern'] = '/^(?=.*\b\d+\b.*(?:Apt\s+\d+|Unit\s+\d+|#|\d+-|\b\d+\b)).+$/i';
$fields['address_1']['custom_attributes']['data-parsley-error-message'] = __( 'A címnek tartalmaznia kell a házszámot és a lakásszámot.', 'your-translation-domain' );
return $fields;
},
100001
);

A minta angol címformákra (Apt, Unit) van hangolva, magyar címeknél a reguláris kifejezést a saját címformádhoz igazítsd.

A szállítási telefonszám a rendelési e-mailekben

Szekció neve “A szállítási telefonszám a rendelési e-mailekben”

A szállítási telefonszám alapból nem szerepel a WooCommerce e-mailekben. Ha ki akarod írni, használd ezt a kódot (a Szállítási telefon feliratot átírhatod):

add_filter( 'woocommerce_email_order_meta_fields', 'custom_woocommerce_email_order_meta_fields', 10, 3 );
function custom_woocommerce_email_order_meta_fields( $fields, $sent_to_admin, $order ) {
$fields['meta_key'] = array(
'label' => __( 'Szállítási telefon' ),
'value' => get_post_meta( $order->id, '_shipping_phone', true ),
);
return $fields;
}

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások