# Hibaelhárítás: a mezők nem mentődnek vagy nem látszanak

> Mit tegyél, ha a kiegészítő mezők mentés után eltűnnek, nem jelennek meg a termékoldalon, Divi-vel hiányoznak, vagy a buboréksúgó üres.

A kódrészleteket gyermeksablon `functions.php` fájljába vagy egy kódrészlet-bővítménybe tedd.

## Egyes mezők nem mentődnek el

A bővítmény nem korlátozza a mezők számát. Ha sok meződ van, és mentés után néhány hiányzik, a PHP `max_input_vars` beállítása a ludas. Ez szabja meg, hány adatot fogad el a szerver egyetlen űrlapküldésből. Ami efölött van, azt levágja, így a mezők egy része elvész.

### 1. megoldás: emeld a `max_input_vars` értékét

1. Nézd meg a jelenlegi értéket: **WooCommerce → Állapot**, a **Szerver környezet** táblázatban.
2. Emeld az értéket. Az alapérték általában 1000. Próbáld 3000-re, ha ez kevés, 5000-re.
3. Ha nem éred el a PHP-beállításokat, kérd meg a tárhelyszolgáltatót.

![A Szerver környezet táblázat a WooCommerce Állapot oldalán](./kepek/hibaelharitas-php-max-input-vars.webp)

*A Szerver környezet táblázat a WooCommerce Állapot oldalán* (https://minta-bolt.hu/wp-admin/admin.php?page=wc-status)

A táblázatban a **PHP Max Input idő** sor mutatja a `max_input_vars` értékét (itt 1000).

### 2. megoldás: kapcsold ki a nem használt paramétereket

Ha a tárhely nem emelhető, szabadíts fel űrlapváltozókat. A szerkesztőfelület minden mezőtípushoz külön paramétereket küld. Azoknál a típusoknál, amiket nem használsz, ezeket kikapcsolhatod egy szűrővel, amely `false` értéket ad vissza.

| Szűrő | Akkor kapcsold ki, ha nem használod |
| --- | --- |
| `pewc_show_calculation_params` | a számítás mezőket |
| `pewc_show_option_field_params` | az opciós mezőket (rádió, választó) |
| `pewc_show_information_params` | az információ mezőket |
| `pewc_show_checkbox_group_params` | a jelölőnégyzet-csoport mezőket |
| `pewc_show_products_params` | a termék (gyermektermék) mezőket |
| `pewc_show_image_swatch_params` | a képminta mezőket |
| `pewc_show_upload_params` | a feltöltés mezőket |
| `pewc_show_character_params` | a karakterkorlátos szöveges mezőket |
| `pewc_show_number_params` | a szám mezőket |
| `pewc_show_date_params` | a dátum mezőket |

Például, ha nem használsz számítás mezőt:

```php
add_filter( 'pewc_show_calculation_params', '__return_false' );
```

Csak az 1. megoldás után, és csak olyan típusnál használd, amit biztosan nem használsz, különben a használt mezők beállításai tűnnek el a szerkesztőből.

## A mezők nem jelennek meg a termékoldalon

Ellenőrizd sorban ezt a négy dolgot:

1. **A termék ára.** A terméknek legyen ára, akár 0 is. Ár nélkül a WooCommerce nem rajzolja ki a kosárba tevő űrlapot, amelyben a mezők vannak.
2. **A sablon.** A sablonnak tartalmaznia kell a `woocommerce_before_add_to_cart_button` műveletet. Próbaképpen kapcsolj át ideiglenesen egy alapsablonra, például a Twenty Nineteenre. Ha ott megjelennek a mezők, a saját sablonodból hiányzik ez a horog.
3. **WPML.** Többnyelvű webhelyen kövesd a [fordításról szóló fejezetet](https://hub.hellowp.io/hu/plugins/product-extras-for-woocommerce/integraciok-fordites/), különösen a globális csoportoknál.
4. **Divi.** Lásd alább.

## A mezők nem jelennek meg a Divi-vel

Divi oldalszerkesztővel a mezők hiányozhatnak. A javítás egy kódrészlet, amely a `pewc_check_did_action` szűrőt módosítja:

```php
<?php

/**
 * A kiegészítő mezők megjelenítésének javítása a Divi Builderrel.
 */
function pewc_divi_check_did_action( $n ) {
    return 2;
}
add_filter( 'pewc_check_did_action', 'pewc_divi_check_did_action' );
```

Add hozzá a kódot a webhelyedhez, majd nézd meg újra a termékoldalt.

## A buboréksúgó üres

Ha bekapcsoltad a buboréksúgót, de csak egy üres négyzet jelenik meg szöveg nélkül, valószínűleg egy másik bővítmény vagy a sablon (például a Flatsome) ütközik a bővítmény súgószkriptjével. Ilyenkor kapcsold ki a bővítmény saját súgószkriptjének (tooltipster) betöltését:

```php
<?php

/**
 * A tooltipster betöltésének tiltása az ütközés elkerülésére.
 */
add_filter( 'pewc_dequeue_tooltips', '__return_true' );
```

Utána nézz meg egy olyan terméket, amelynél be van kapcsolva a súgó. A súgók bekapcsolásáról a [Mezőleírások, súgók és alapértékek](https://hub.hellowp.io/hu/plugins/product-extras-for-woocommerce/termekoldal-leirasok-sugok/) fejezetben olvashatsz.

## A bolti listában megváltozott a gomb, és nem lehet közvetlenül kosárba tenni

Ha egy termékhez kiegészítő mezők tartoznak, a bolt és a termékarchívumok listájában a **Kosárba teszem** gomb helyett az **Opciók kiválasztása** gomb jelenik meg, és a termékoldalra visz. Ez a szándékos működés: a vásárló így nem teheti kosárba a terméket úgy, hogy közben nem látta a mezőket. A gomb nem végez AJAX-os kosárba tételt sem.

Ha a gomb furcsán néz ki, vagy a lista elrendezése elcsúszik, a sablon az archív oldalak gombjait nem szabványos módon formázhatja. Ilyenkor a sablon készítőjétől kérj segítséget.

A gomb feliratát a `pewc_filter_view_product_text` szűrővel cserélheted, a példát a [Mezők helye és a gombok](https://hub.hellowp.io/hu/plugins/product-extras-for-woocommerce/termekoldal-mezok-helye-gombok/) fejezetben találod. A gomb CSS-osztályát a `pewc_add_to_cart_button_class` szűrő módosítja.

A régebbi leírásokban szereplő `remove_filter( 'woocommerce_loop_add_to_cart_link', 'pewc_view_product_button', 10, 3 )` sor a telepített kódban már nem kapcsolódik be, ezért nincs mit eltávolítani vele. A gomb a `woocommerce_product_add_to_cart_text` és a `woocommerce_product_add_to_cart_url` szűrőn át változik meg.

## A harmonika vagy a fül elem nem kattintható

Ha a termékoldalon a mezők közé tett harmonika vagy fül (tab) elem nem nyílik ki, az oka általában a sablon. A Porto sablonnál a **Skeleton Screens** (vázképernyők) funkció a hibás, amely a betöltés alatt helyőrző oldalt mutat, és az elemek később töltődnek be. A javítás:

1. Nyisd meg a **Porto → Theme Options** oldalt.
2. Lépj az **General** (Általános) szakaszra.
3. Kapcsold ki a **Show Skeleton Screens** beállítást.
4. Mentsd, és próbáld ki a termékoldalon, hogy a harmonika vagy a fül kattintásra kinyílik-e.

Más sablonnál is elsőként a sablont gyanítsd: váltsd át ideiglenesen egy alapértelmezett sablonra, és nézd meg, így működik-e az elem.
