# Számítás mező

> Képlettel számolt érték: a képlet címkéi, műveletek, kerekítés, a művelet típusa és a más bővítményekkel használható címkék.

A **Számítás** típusú mező képlettel számol. A képletben szerepelhetnek a vásárló által más mezőkbe beírt értékek, rögzített számok, a termék ára, a termék méretei és súlya, valamint általad megadott változók.

![A Számítás mező fül a képletszerkesztővel](./kepek/mezotipusok-szamitas.webp)

*A Számítás mező fül a képletszerkesztővel* (https://minta-bolt.hu/wp-admin/post.php?post=15&action=edit)

A képen a **Számítások** fül látszik: fent a **Képlet** mező, alatta a címkék listája, lent a kerekítés és a **Művelet** beállítása.

## A mező felvétele

1. Vegyél fel egy mezőt, és a **Mező típusa** legördülőben válaszd a **Számítás** típust. A **Mezőcímke** opcionális.
2. Nyisd meg a **Számítások** fület.
3. A **Képlet** mezőbe írd be a képletet. A címkékre kattintva a képletszerkesztő beilleszti őket, de kézzel is begépelheted.

## A képlet elemei

| Címke | Mit ad vissza |
| --- | --- |
| `{field_101}` | A 101-es azonosítójú mező értéke. A mezőnek ugyanazon a terméken kell lennie, és szám vagy másik számítás típusúnak kell lennie. |
| `{product_price}` | A termék ára. |
| `{variable_1}`, `{variable_2}`, `{variable_3}` | A három globális változó, amelyek értékét a **WooCommerce → Beállítások → Termékkiegészítők → Számítások** oldalon adhatod meg. |
| `{field_999_field_price}` | A 999-es mező árának értéke. |
| `{field_999_option_price}` | A rádiógomb- vagy kiválasztás mezőben kiválasztott opció ára. |
| `{field_999_number_uploads}` | A 999-es feltöltés mezőbe feltöltött fájlok száma. |
| `{field_xxx_pdf_count}` | A feltöltött PDF oldalainak száma. |
| `{quantity}` | A termék mennyisége. |
| `{product_weight}`, `{product_length}`, `{product_width}`, `{product_height}` | A termék súlya és méretei. |
| `{pa_minta}` | Egy termékattribútum számértéke. Csak akkor működik, ha az attribútum értéke szám, és csak a termékre állított első értéket veszi. A `minta` az attribútum slugja. |

A mezőnkénti és opciónkénti címkékből (`field_price`, `option_price`, `option label`) a szerkesztő gombokat is ad, a **Mezők** sorában.

A műveletek: `+`, `-`, `*`, `/`. Zárójelekkel megadhatod a sorrendet, például:

```text
( ( {field_950} * {field_951} ) + {product_price} ) / {variable_1}
```

A zárójeleknek párban kell lenniük, különben a képlet nem értékelődik ki.

A keresőtáblázatok (a **Keresési táblázat** gomb a **Változók** sorban) árrácsból veszik az értéket a vásárló megadott adatai alapján.

### Több globális változó

A három változó kevés lehet. Ha többre van szükséged, a `pewc_calculation_global_calculation_vars` szűrővel saját nevű változókat adhatsz meg, és a nevüket használhatod a képletben:

```php
add_filter( 'pewc_calculation_global_calculation_vars', function ( $vars ) {
	return array(
		'custom_variable_1' => 50,
		'custom_variable_2' => 150,
	);
} );
```

Ezután a képlet így nézhet ki: `{custom_variable_1} * {custom_variable_2}`.

## További beállítások

| Beállítás | Mit csinál |
| --- | --- |
| **Számítás elrejtése?** | A számítás nem látszik az oldalon, de elvégződik. |
| **Utótag** | A kiírt eredmény után megjelenő szöveg, például mértékegység. |
| **Eredmény kerekítése** | **Nincs kerekítés**, **Lefelé kerekítés** vagy **Felfelé kerekítés**, egész számra. |
| **Tizedesjegyek** | Hány tizedesjegyre kerekítse az eredményt. |
| **Művelet** | Mire hasson az eredmény (lásd alább). |

### A Művelet beállítás

| Érték | Hatás |
| --- | --- |
| **Megjelenítés költségként** | Az eredmény a termék árához adódik költségként. |
| **Termék árának beállítása** | Az eredmény lesz a termék teljes ára. |
| **Mennyiség frissítése** | Az eredmény átállítja a kiválasztott mennyiséget. |
| **Altermék mennyiségének beállítása** | Egy **Termékek** mező altermékének mennyiségét állítja (csak rádiógombos lista és rádiógombok képekkel elrendezésnél). |
| **Hozzáadás a termék súlyához** | Az eredmény a termék súlyához adódik. |
| **Hozzáadás a termék hosszához** | Az eredmény a termék hosszához adódik. |
| **Hozzáadás a termék szélességéhez** | Az eredmény a termék szélességéhez adódik. |
| **Hozzáadás a termék magasságához** | Az eredmény a termék magasságához adódik. |

A mezők és opciók ára is megadható képlettel, nem csak a számítás mezőé.

## Hiányzó mezők

Ha a képletben olyan mező címkéje szerepel, amely nincs az oldalon, a számítás alapból üres értéket ad. A `{field_123} + {field_456}` képlet csak akkor ad eredményt, ha mindkét mező ott van. Ha azt szeretnéd, hogy a hiányzó mező 0-nak számítson, kapcsold be a **Nulla érték a hiányzó mezőkhöz** beállítást a **WooCommerce → Beállítások → Termékkiegészítők → Számítások** oldalon. Így egyetlen globális számítási mező több mező értékét is összegezheti, még ha nem mind szerepel minden terméken.

## Pénznem jele a kosárban

A kosárban a számítás és a szám mező értéke alapból pénznemjel nélkül jelenik meg. Ha ki szeretnéd írni a jelet, a `pewc_filter_item_value_in_cart` szűrővel előtagolhatod:

```php
add_filter( 'pewc_filter_item_value_in_cart', function ( $field_value, $field ) {
	if ( 'calculation' === $field['type'] ) {
		$field_value = get_woocommerce_currency_symbol() . $field_value;
	}
	return $field_value;
}, 10, 2 );
```

## Más bővítményekkel

| Bővítmény | Használható címkék |
| --- | --- |
| Better Variations (rácsos elrendezés) | `{total_variations}`: a vásárló által kiválasztott variációk száma. |
| Bookings for WooCommerce | `{calculated_booking_cost}`: a foglalás teljes költsége. `{num_units_int}`: a kiválasztott egységek száma (napok, hetek). `{num_bookings}`: a kiválasztott mennyiség. |
| Advanced Custom Fields (a bővítmény Speciális számítások kiegészítőjével) | Az ACF számmezők a mezőnév `acf_` előtaggal, kapcsos zárójelben: `{acf_my_number}`. Csak a **Szám** típusú ACF-mezők használhatók, és a termékoldalon lévő mezők automatikusan elérhetők. |
