Tovább a tartalomhoz

Címmezők módosítása és a mezők kinézete

A második címsor elhagyása és átnevezése, az irányítószám mező eltávolítása, a címmezők sorrendje és szélessége, valamint a helykitöltő szöveg színe.

A címmezők módosításához egy kis PHP- vagy CSS-kódot kell beillesztened. A kódot a CheckoutWC → Haladó → Szkriptek fülön a PHP kódrészletek mezőbe tedd (a mező leírása a Haladó beállítások fejezetben van), vagy a gyermektéma functions.php fájljába, esetleg egy kódrészlet-kezelő bővítménybe. A nyitó <?php címkét ne másold be.

https://minta-bolt.hu/wp-admin/admin.php?page=cfw-settings-cfw_manage_advanced&subpage=scripts
A Szkriptek fül a PHP kódrészletek mezővel

A képen a Globális szakasz PHP kódrészletek mezője látszik, ide kerülnek a PHP-kódrészletek.

A Cím 2 mező elrejtéséhez két dolgot kell tenni: nem kötelezővé tenni a WooCommerce-ben, és kivenni a CheckoutWC mezői közül.

// A Cím 2 ne legyen kötelező
add_filter( 'woocommerce_checkout_fields', 'unrequire_address_2_checkout_fields' );
function unrequire_address_2_checkout_fields( $fields ) {
$fields['billing']['billing_address_2']['required'] = false;
$fields['shipping']['shipping_address_2']['required'] = false;
return $fields;
}
// A számlázási Cím 2 eltávolítása
add_filter( 'cfw_get_billing_checkout_fields', 'remove_billing_address_2_checkout_fields', 100, 3 );
function remove_billing_address_2_checkout_fields( $fields ) {
unset( $fields['billing_address_2'] );
return $fields;
}
// A szállítási Cím 2 eltávolítása
add_filter( 'cfw_get_shipping_checkout_fields', 'remove_shipping_address_2_checkout_fields', 100, 3 );
function remove_shipping_address_2_checkout_fields( $fields ) {
unset( $fields['shipping_address_2'] );
return $fields;
}

Ha csak a kapcsolók közül szeretnéd kivenni a mezőt, használd az Engedélyezett számlázási cím mezők beállítást az Oldalak → Pénztár fülön (lásd: Pénztár- és köszönőoldal beállításai).

A számlázási és a szállítási Cím 2 mező felirata és helykitöltő szövege egy szűrővel módosítható. A példa „Lakás száma” szöveget állít be, az értéket írd át a sajátodra.

add_filter( 'woocommerce_default_address_fields', 'custom_override_address2_label', 200000, 1 );
function custom_override_address2_label( $address_fields ) {
$address_fields['address_2']['label'] = $address_fields['address_2']['placeholder'] = 'Lakás száma';
return $address_fields;
}

Az irányítószám mező eltávolítása

Szekció neve “Az irányítószám mező eltávolítása”

Ez a kódrészlet két dolgot csinál: kiveszi az irányítószám mezőt a WooCommerce címmezői közül, és az Ország és az Állam mezőt a sor teljes szélességére nyújtja (a három mezős sor helyett kettő lesz egymás mellett). Másold a CheckoutWC → Haladó → Szkriptek → PHP kódrészletek mezőbe:

add_filter(
'woocommerce_default_address_fields',
function ( $fields ) {
unset( $fields['postcode'] );
$fields['country']['columns'] = 6;
$fields['state']['columns'] = 6;
return $fields;
},
100000 + 100
);

A WooCommerce a mezők sorrendjét a priority értékkel adja meg: a kisebb szám előrébb kerül. Az alapértékek:

Mező Prioritás
Utónév (first_name) 10
Vezetéknév (last_name) 20
Cím 1 (address_1) 30
Cím 2 (address_2) 40
Cég (company) 50
Ország (country) 60
Irányítószám (postcode) 70
Állam (state) 80
Város (city) 90
Telefon (phone) 100

A CheckoutWC a mezők szélességét is a columns értékkel adja meg (egy sor 12 egységből áll). A következő példa a Város mezőt 50-es prioritással 4 egység szélesre állítja (a Cég mezővel azonos prioritású, ezért ott lesz a sorban), az Államot pedig 60-as prioritással, teljes sorszélességre:

add_action( 'woocommerce_default_address_fields', 'cfw_reorder_address_fields', 100000 + 10 );
function cfw_reorder_address_fields( $fields ) {
$fields['city']['priority'] = 50;
$fields['city']['columns'] = 4;
$fields['state']['priority'] = 60;
$fields['state']['columns'] = 12;
return $fields;
}

A prioritás és a szélesség a saját igényed szerint állítható; a fenti táblázat segít kiválasztani, melyik mező elé vagy mögé kerüljön az új.

Ha a mezőkben látszó halvány helykitöltő szöveg (placeholder) színét módosítanád, add hozzá a CSS-t a CheckoutWC → Haladó → Szkriptek → Globális → Fejléc szkriptek mezőhöz. A szkriptet be kell csomagolni <style> címkébe. A példa pirosra állítja a színt, a red helyére írd a kívánt színt.

<style>
::-webkit-input-placeholder {
color: red !important;
}
:-moz-placeholder { /* Firefox 18- */
color: red !important;
}
::-moz-placeholder { /* Firefox 19+ */
color: red !important;
}
:-ms-input-placeholder {
color: red !important;
}
</style>

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