# Árazás és árcímkék

> Mező- és opcióárak megadása, átalánydíj, százalékos és negatív ár, szerepkör-alapú árak, valamint az árak, összegsorok és árcímke megjelenítése.

A mezők és opciók árát az **Árazás** fülön adod meg. Ez a fejezet azt írja le, hogyan állíthatsz be árat, és hogyan jelenjenek meg az árak a vásárlónak.

## Árak megadása

### Mező ára

Minden mezőtípusnak lehet ára. Írd be az összeget a mező **Mező ára** beállításába: amikor a vásárló kitölti vagy kiválasztja a mezőt, a termék ára ennyivel nő (vagy csökken).

![A mező Árazás füle: Mező ára, szerepkör-ár, láthatóság, átalánydíj és százalék](./kepek/arazas-mezo-szerepkor-ar.webp)

*A mező Árazás füle: Mező ára, szerepkör-ár, láthatóság, átalánydíj és százalék* (https://minta-bolt.hu/wp-admin/post.php?post=15&action=edit)

A képen az **Árazás** fül látszik: a **Mező ára** mellett a szerepkör-alapú ár mezője, a **Mező árának láthatósága**, az **Átalánydíj?** és a **Százalék?** kapcsoló.

### Opciók ára

Az opciókat tartalmazó mezőknél (például rádiógomb-csoport, kiválasztás) magára a mezőre is adhatsz árat, és minden opcióhoz külön is. A mezőár akkor kerül a termék árához, ha a vásárló választ valamit; az opcióár attól függ, melyik opciót választja. Így minden opció más felárat jelenthet.

### Mennyiségfüggő ár és átalánydíj

Alapból a mező- és opcióárak a termék mennyiségével szorzódnak: ha a vásárló 3 darabot rendel, a felár háromszor számít. Ha egyszeri díjat szeretnél, kapcsold be az **Átalánydíj?** kapcsolót: ekkor a felár csak egyszer kerül felszámításra, akárhány darabot rendel a vásárló.

### Százalékos ár

A **Százalék?** kapcsolóval a mező- és opcióárak fix összeg helyett a termék alapárának százalékát jelentik.

### Negatív ár

Ha csökkenteni szeretnéd a termék árát, negatív értéket adj meg. A bővítmény gondoskodik róla, hogy a termék ára ettől nem eshet nulla alá.

### Szöveges mezők árazása

A **Szöveg** és a **Szövegmező** típusnál összetettebb árazás is van:

| Beállítás | Mit csinál |
| --- | --- |
| **Ár karakterenként?** | A **Mező ára** megszorzódik a beírt karakterek számával. |
| **Minimális karakterszám** | A legkevesebb karakter, amit a vásárlónak be kell írnia. |
| **Maximális karakterszám** | A karakterek felső határa. |
| **Számláló megjelenítése?** | Kijelzi, hány karaktert írt be a vásárló, és ha van maximum, azt is. |
| **Ingyenes karakterek** | Ennyi karakterért nem kell fizetni. |
| **Csak az alfanumerikus karakterekért kelljen fizetni?** | Csak a betűk és számok után számít fel díjat. |

A részleteket a [Szöveg és Szövegmező](https://hub.hellowp.io/hu/plugins/product-extras-for-woocommerce/mezotipusok-kivalasztas-szoveg-feltoltes/) fejezet írja le.

### Képletek és keresőtáblák

A Pro változatban a mező- és opcióárakat képlettel, illetve keresőtáblával is megadhatod. Ezt a [Számítás mező](https://hub.hellowp.io/hu/plugins/product-extras-for-woocommerce/mezotipusok-szamitas/) fejezet tárgyalja.

## Szerepkör-alapú árak

Beállíthatod, hogy a felhasználó szerepkörétől függően más legyen egy mező ára.

1. Nyisd meg a **WooCommerce → Beállítások → Termékkiegészítők → Általános** oldalt.
2. A **Szerepkör-alapú árképzés** alatt a **Szerepkörök** mezőben add meg azokat a szerepköröket, amelyeknek más árat szeretnél.
3. Mentsd a módosításokat.

![A Termékkiegészítők általános beállításai a Szerepkörök mezővel](./kepek/arazas-szerepkor-beallitas.webp)

*A Termékkiegészítők általános beállításai a Szerepkörök mezővel* (https://minta-bolt.hu/wp-admin/admin.php?page=wc-settings&tab=pewc)

A képen a **Szerepkörök** mezőben a **Customer** szerepkör van kiválasztva.

Ezután minden mező **Árazás** fülén megjelenik egy plusz ármező minden megadott szerepkörhöz (a képen a **Mező ára (Customer)**). Az ott megadott ár csak az adott szerepkörű felhasználóknak érvényes: ha például a sima ár 5, a nagykereskedő szerepkörnek pedig 4, akkor mindenki 5-öt fizet, kivéve a nagykereskedő szerepkörű felhasználót, aki 4-et.

## Árak megjelenítése

A mezőhöz rendelt ár megjelenik a termékoldalon a mező mellett. A több opciós mezőknél az opciók mellett is látszik az áruk. Minden mezőnél külön beállíthatod, hol látszódjon.

### Mező árának láthatósága

Az **Árazás** fülön a **Mező árának láthatósága** értékei:

| Érték | Hatás |
| --- | --- |
| **Látható** | Alapérték. Az ár mindenhol látszik. |
| **Elrejtés csak a termékoldalon** | A termékoldalon nem látszik az ár, máshol (például a kosárban) igen. |
| **Rejtett** | Az ár a vásárlónak sehol nem látszik: sem a termékoldalon, sem a kosárban, a pénztárban és a rendelés visszaigazolásán. |

A rendelés szerkesztőoldalán az ár mindig látszik.

### Opcióárak láthatósága

Az opciót tartalmazó mezőtípusoknál (jelölőnégyzet-csoport, minta, rádiógomb-csoport, kiválasztás) az **Opció árának láthatósága** beállítás ugyanezeket az értékeket kínálja az opcióárakra, és a rendelés szerkesztőoldalán itt is mindig látszanak.

### Elválasztó az opció neve és ára között

Alapból egy **+** jel jelzi a felárat az opció neve mellett. Ha mást szeretnél, írd át a **WooCommerce → Beállítások → Termékkiegészítők → Általános** oldal **Árelválasztó** mezőjében.

### Az összes ár elrejtése egyszerre

Ha az összes mező- és opcióárat el akarod rejteni a vásárló elől, nem kell mezőnként átállítanod: egy kódrészlet mindegyik mezőnél **Rejtett** értékre állítja a láthatóságot.

```php
<?php
/**
 * Minden mező- és opcióár elrejtése a látogatók elől
 */
function demo_hide_all_add_on_prices( $item, $group, $group_id, $post_id ) {
	$item['price_visibility'] = 'hidden';
	$item['option_price_visibility'] = 'hidden';
	return $item;
}
add_filter( 'pewc_filter_item_start_list', 'demo_hide_all_add_on_prices', 10, 4 );
```

Ha csak a rendelésből és a rendelés-visszaigazoló e-mailből akarod elrejteni a mezőárakat (minden mezőnél), ez a sor elég:

```php
<?php
add_filter( 'pewc_show_field_prices_in_order', '__return_false' );
```

A kódrészleteket a sablon `functions.php` fájljába, vagy kódrészlet-kezelő bővítménybe másold.

## Összegmezők és összefoglaló panel

Alapból a termékoldalon összegsorok mutatják, hogyan áll össze a végső ár: **Termékösszeg**, **Opciók összege**, **Végösszeg**. A **WooCommerce → Beállítások → Termékkiegészítők → Általános** oldalon, a **Feliratok** alatt állíthatod be:

| Beállítás | Mit csinál |
| --- | --- |
| **Összegmezők megjelenítése** | Három érték közül választhatsz: az összes részösszeg látszik, a részösszegek rejtve vannak, vagy csak a végösszeg látszik. |
| **Termékösszeg címkéje** | A termékösszeg sor felirata. |
| **Az opciók összegének címkéje** | Az opciók összege sor felirata. |
| **Az átalánydíj összegének címkéje** | Az átalánydíj sor felirata. |
| **Végösszeg felirat** | A végösszeg sor felirata. |

Ugyanezek a beállítások a testreszabóban (Customizer) is elérhetők a Termékkiegészítők szakaszban.

### Szöveg a végösszeg elé

Ha az **Összegmezők megjelenítése** értéke csak a végösszeg, és szeretnél szöveget a végösszeg elé, ezzel a kódrészlettel megteheted:

```php
<?php
function prefix_pewc_total_only_text( $label, $post_id ) {
	return __( 'Összesen: ' );
}
add_filter( 'pewc_total_only_text', 'prefix_pewc_total_only_text', 10, 2 );
```

### Összegmezők termékenként

Egy másik kódrészlettel termékenként is eldöntheted, hogy az összegmezők látszanak-e. A függvény a termék azonosítója alapján a `total` értékkel csak a végösszeget mutatja, a `hide` értékkel elrejti az összegmezőket.

```php
<?php
function demo_pewc_product_show_totals( $show_totals, $post_id ) {
	// Csak a végösszeg ezeknél a termékeknél
	if ( in_array( $post_id, array( 64, 66, 454 ) ) ) {
		$show_totals = 'total';
	}
	// Összegmezők elrejtése ezeknél a termékeknél
	if ( in_array( $post_id, array( 969, 1111 ) ) ) {
		$show_totals = 'hide';
	}
	return $show_totals;
}
add_filter( 'pewc_product_show_totals', 'demo_pewc_product_show_totals', 10, 2 );
```

### Részletes összefoglaló panel

Az összegsorok helyett részletes összefoglaló panelt is megjeleníthetsz, amely tételenként felsorolja, mit választott a vásárló, és mennyibe kerül. Kapcsold be a testreszabóban (Customizer) az **Összefoglaló panel engedélyezése** jelölőnégyzetet a Termékkiegészítők, azon belül a feliratok szakaszban.

## Az ár címkéje a termékoldalon

Ha azt szeretnéd, hogy a termék fő ára (a termék címe alatt) a mezők választásával együtt frissüljön, kapcsold be az **Általános** szekció **Árcímke frissítése** jelölőnégyzetét.

A fő árhoz szöveget is fűzhetsz (például „-tól”), vagy el is rejtheted:

- **WooCommerce → Beállítások → Termékkiegészítők → Általános → Feliratok**: az **Árcímke** a szöveg, az **Árcímke megjelenítése** a helye (**Ár előtt**, **Ár után** vagy **Ár elrejtése**; alapérték: **Ár előtt**).
- Egy adott terméken a **Termék adatok → Általános** panelen is megadható az árcímke.

## Nulla árak elrejtése

Ha a mezőidhez nem rendelsz árat, a kosárban és a pénztárban felesleges lenne a 0 Ft. Kapcsold be az **Általános** szekció **Nulla árak elrejtése** jelölőnégyzetét: ekkor a díjmentes kiegészítők árát elrejti a kosárban.

A **Mezőárak elrejtése** jelölőnégyzet az egyetlen opcióértékkel rendelkező mezők áráról gondoskodik, hogy ne jelenjen meg az ár kétszer.

## Adóbeállítás és áfa

- **Adóbeállítás figyelmen kívül hagyása**: a WooCommerce árak megjelenítésére vonatkozó beállítását (áfával vagy anélkül) hagyja figyelmen kívül.
- **Áfa utótagjának megjelenítése**: az áfa utótagot az összes kiegészítő ármező után megjeleníti.

Ha egy kiegészítőre más adóosztályt akarsz, mint a fő termékre, olvasd el az [Árazási példák](https://hub.hellowp.io/hu/plugins/product-extras-for-woocommerce/arazas-peldak/) fejezetet.

## Az árazás kikapcsolása

Ha a bővítményt csak adatgyűjtésre használod, vagy több kiegészítő-bővítményt futtatsz, és nem akarod, hogy ez a bővítmény módosítsa az árat, ezzel a kódrészlettel kikapcsolhatod az árszámítását:

```php
<?php
remove_action( 'woocommerce_before_calculate_totals', 'pewc_wc_calculate_total', 10, 1 );
remove_filter( 'woocommerce_cart_item_price', 'pewc_minicart_item_price', 10, 3 );
remove_action( 'woocommerce_cart_calculate_fees', 'pewc_cart_calculate_fees', 10 );
remove_action( 'woocommerce_before_mini_cart_contents', 'pewc_wc_calculate_total', 11 );

function prefix_remove_actions() {
	remove_action( 'woocommerce_before_calculate_totals', 'pewc_wc_calculate_total', 10, 1 );
	remove_filter( 'woocommerce_cart_item_price', 'pewc_minicart_item_price', 10, 3 );
	remove_action( 'woocommerce_cart_calculate_fees', 'pewc_cart_calculate_fees', 10 );
	remove_action( 'woocommerce_before_mini_cart_contents', 'pewc_wc_calculate_total', 11 );
}
add_action( 'init', 'prefix_remove_actions' );
```

## Mezők megjelenítése ár nélküli terméken

Ha egy terméknek nincs ára, a mezők alapból nem jelennek meg a termékoldalon. Ezzel a kódrészlettel megjelennek:

```php
<?php
add_action( 'woocommerce_single_product_summary', 'pewc_product_extra_fields' );
```
