# Gyakori kérdések és hibaelhárítás

> Egyedileg árusított termék, a mezők pozíciója, feltételes logika, fordítás, kompatibilitás és mentési problémák.

## Egyedileg árusított termék több kiegészítővel

Az „Egyedileg árusított” termék alapból többször is kosárba tehető, ha a vásárló eltérő kiegészítőket választ. Ha azt szeretnéd, hogy a termék a kiegészítőktől függetlenül csak egyszer kerülhessen a kosárba, használd ezt a kódrészletet (a témád `functions.php` fájljában vagy egy kódrészlet-bővítményben):

```php
<?php

add_filter( 'woocommerce_add_to_cart_validation', 'check_if_product_exists_in_cart', 10, 2 );

function check_if_product_exists_in_cart( $is_valid, $product_id ) {
    $product = wc_get_product( $product_id );

    if ( $product->is_sold_individually() ) {
        $cart_contents = WC()->cart->get_cart_contents();

        foreach ( $cart_contents as $cart_item ) {
            if ( $product_id === $cart_item['product_id'] ) {
                $is_valid = false;

                $notice = sprintf(
                    '<a href="%s" class="button wc-forward">%s</a> %s',
                    wc_get_cart_url(),
                    __( 'View cart', 'woocommerce' ),
                    sprintf( __( 'You cannot add another "%s" to your cart.', 'woocommerce' ), $product->get_name() )
                );

                wc_add_notice( $notice, 'error' );

                break;
            }
        }
    }

    return $is_valid;
}
```

## Hol jelennek meg a mezők a termékoldalon?

Storefront témánál a kiegészítők a rövid leírás és a **Kosárba teszem** gomb között jelennek meg. Sok más témánál a gomb alatt.

A pozíció módosításához felül kell írnod a termékoldal sablonját a témádban. A Product Add-Ons sablonfájljait a témamappában egy `woocommerce-product-addons` nevű mappán belül, `addons` almappába kell tenni:

```text
temamappa/woocommerce-product-addons/addons/sablon-felulirasi-fajl.php
```

Ha nem vagy jártas a témafájlok szerkesztésében, kérd fejlesztő segítségét.

## Feltételes logika

A bővítmény nem támogat beépített feltételes logikát, vagyis azt, hogy egy mező csak egy másik mező kiválasztott értékétől függően jelenjen meg. Ehhez a Gravity Forms és a hozzá készült Gravity Forms Product Add-Ons bővítmény együttes használata javasolt.

## Fordítás

A bővítmény `.mo` és `.po` nyelvi fájljait ide kell tenni:

```text
/wp-content/languages/plugins/
```

## Kompatibilitás

- **Smart Coupons**: a Product Add-Ons együttműködik vele, az ajándékkártya-funkcióval is.
- **WooCommerce Bookings**: a foglalható termékek kiegészítői ugyanúgy működnek, mint a szokványos terméktípusoknál.
- **WooCommerce Subscriptions**: az ismétlődő előfizetés árához is hozzáadhatók a kiegészítők.

## Hibaelhárítás

### A kiegészítők nem mentődnek el

Ennek oka lehet a mezőnév hossza. Próbáld rövidíteni a mező nevét, vagy kérd meg a tárhelyszolgáltatót, hogy emelje meg a `post.max_name_length` értékét.

### Sok kiegészítő esetén nem mentődik minden mező

A PHP `max_input_vars` beállítása határozza meg, hány űrlapmezőt lehet egyszerre elmenteni. Ha sok kiegészítőd van, egy alacsony érték (például 1000) megakadályozhatja a megfelelő mentést.

A jelenlegi érték ellenőrzése:

1. Menj a **WooCommerce → Állapot** oldalra.
2. A szerverkörnyezet részben keresd a `PHP max input vars` sort.

Ha több mezőt kell elmentened, kérd meg a tárhelyszolgáltatót, hogy emelje meg a `max_input_vars` értékét.

### A fájlfeltöltő mező angol szöveget mutat

A „Choose File” és a „No file chosen” felirat a böngészőtől származik, nem a bővítménytől. A nyelve a böngésző nyelvétől függ.
