# 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](https://hub.hellowp.io/hu/plugins/checkout-for-woocommerce/halado/) 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.

![A Szkriptek fül a PHP kódrészletek mezővel](./kepek/beallitasok-halado-szkriptek.webp)

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

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

## A második címsor (Cím 2) elhagyása

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.

```php
// 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](https://hub.hellowp.io/hu/plugins/checkout-for-woocommerce/oldalak/)).

## A Cím 2 felirat átírása

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.

```php
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

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:

```php
add_filter(
	'woocommerce_default_address_fields',
	function ( $fields ) {
		unset( $fields['postcode'] );
		$fields['country']['columns'] = 6;
		$fields['state']['columns']   = 6;

		return $fields;
	},
	100000 + 100
);
```

## A címmezők sorrendje és szélessége

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:

```php
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.

## A helykitöltő szöveg színe

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.

```html
<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>
```
