# Hibakeresés lépésről lépésre

> Általános hibakeresési menet, a böngésző fejlesztői eszközeinek megnyitása és a WordPress-ütemező (cron) rendbetétele.

## Általános hibakeresési lépések

Ha valami nem működik a pénztáron, haladj ezen a sorrenden. Teszteld a pénztárat minden lépés után, lehetőleg egy átmeneti (staging) oldalon.

1. **Frissítsd a bővítményeket.** A WooCommerce, a WooCommerce-bővítmények és a CheckoutWC is legyen a legújabb verzión. A hiba gyakran már ki van javítva.
2. **Ellenőrizd a pénztármező-szerkesztőt.** A hivatalos WooCommerce Checkout Field Editor bővítmény támogatott. A legtöbb más pénztármező-szerkesztő bővítmény gondot okoz, ezért ilyen esetben először ezeket kapcsold ki.
3. **Keresd meg kizárásos módszerrel a hibát okozó bővítményt vagy témát.** Kapcsolj ki minden bővítményt, kivéve ezeket:
   - WooCommerce
   - CheckoutWC
   - a fizetési módok bővítményei
   - a szállítási módok bővítményei
4. Ha ettől megjavul a pénztár, kapcsold vissza egyenként a többi bővítményt, és minden után teszteld. Így kiderül, melyik okozza a hibát.
5. Ha nem javul meg, kapcsolj át ideiglenesen egy szabványos WordPress-témára. Ha ettől rendben működik, a téma (vagy a szülőtéma) a hibás.
6. Ha még mindig hibás, kapcsold ki egyenként a fizetési és szállítási módokat, és úgy teszteld.

### Sok bővítmény esetén: felezéses keresés

Ha rengeteg bővítmény van, gyorsabb a felezéses módszer. Például 100 bővítménynél kapcsold ki az egyik felét (a fenti, kihagyandó bővítmények nélkül), és teszteld újra:

- Ha megjavult, a hiba az 50 kikapcsolt közt van.
- Ha nem, a másik 50-ben van, és az első 50-et visszakapcsolhatod.

Az érintett felet újra felezd, amíg el nem jutsz az egyetlen hibás bővítményig.

## A böngésző fejlesztői eszközeinek megnyitása

Hibakeresésnél gyakran a JavaScript-konzolt kell megnyitni. Nyisd meg az érintett oldalt, majd:

| Böngésző | Billentyűk | Teendő |
| --- | --- | --- |
| Google Chrome | Ctrl+Shift+J (Mac: Cmd+Opt+J) vagy F12 | A megnyíló fejlesztői eszközök ablakában kattints a **Console** fülre. |
| Mozilla Firefox | F12 | Kattints a **Console** fülre. Külön ablakban a Ctrl+Shift+J (Mac: Cmd+Opt+J) nyitja meg a konzolt. |
| Edge | Ctrl+Shift+J vagy F12 | Kattints a **Console** fülre, majd töltsd újra az oldalt. |
| Safari | Cmd+Opt+C | Előbb a Safari beállításainak **Advanced** paneljén kapcsold be a fejlesztői menü megjelenítését a menüsorban, utána kattints a **Console** fülre. |

## A WordPress-ütemező (cron) rendbetétele

A WordPress az ismétlődő háttérfeladatokat (például az emlékeztető e-maileket) a saját ütemezőjével, a wp-cronnal futtatja. Ez nem rendszerszintű időzítő: az oldal minden látogatásakor, a PHP-kérés végén indul el, és lefuttatja az esedékes feladatokat. Két gondja van:

1. Ha az oldalt ritkán nyitják meg (vagy gyorsítótárból szolgálja ki a szerver), a feladatok ritkán vagy soha nem futnak le.
2. Ha egy feladat sokáig tart, több PHP-szálat lefoglalhat, és kevesebb erőforrás marad a látogatóknak.

Felügyelt WordPress-tárhelyen valószínűleg a tárhely már intézi az ütemezést; bizonytalanság esetén kérdezd meg a szolgáltatódat.

### 1. lépés: a WP-cron kikapcsolása

Ez nem állítja le a feladatokat, csak a megszokott indítási módot kapcsolja ki. Add hozzá a `wp-config.php` fájlhoz:

```php
define('DISABLE_WP_CRON', true);
```

### 2. lépés: valódi időzítés beállítása

Három módszer közül választhatsz, a legkönnyebbtől a legmegbízhatóbbig.

**A) Külső időzítő szolgáltatás (könnyű).** Egy ingyenes időzítő szolgáltatással (például a cron-job.org-gal) percenként meghívatod a WordPress ütemezőjét:

1. Hozz létre fiókot, igazold az e-mail-címedet, és lépj be.
2. Hozz létre új időzített feladatot ezekkel az értékekkel (a címben a saját domainedet add meg):

```text
Cím: Az oldalad neve
Cím (URL): https://sajatoldal.example/wp-cron.php?doing_wp_cron
Ütemezés: percenként
```

Egyes tárhelyek fenyegetésnek érzékelhetik a percenkénti hívást. Ilyenkor kérd meg a tárhelyszolgáltatót, hogy engedélyezze az időzítő szolgáltatás IP-címeit.

**B) cPanel (közepes).** Ha a tárhelyed cPanelt használ:

1. Jelentkezz be a cPanelbe, és keresd meg a **Cron Jobs** eszközt (gyakran a „Speciális” részben).
2. A **Common Settings** listában válaszd az **Every Minute** (`* * * * *`) értéket.
3. A parancs mezőbe írd be, a saját útvonaladdal:

```bash
/usr/local/bin/php /path/to/public_html/wp-cron.php >/dev/null 2>&1
```

4. Kattints az **Add New Cron Job** gombra.

Ha a PHP parancssori változata nem működik a szervereden, használhatod ezek egyikét (a domaint cseréld ki a sajátodra):

```bash
wget -q -O - http://sajatoldal.example/wp-cron.php?doing_wp_cron >/dev/null 2>&1
curl http://sajatoldal.example/wp-cron.php?doing_wp_cron >/dev/null 2>&1
```

**C) Valódi rendszer-cron a WP-CLI-vel (haladó, a legmegbízhatóbb).** A szerveren legyen telepítve a WP-CLI (a telepítésben a tárhelyszolgáltató segít).

1. Lépj be a szerverre SSH-val.
2. Nyisd meg a crontabot szerkesztésre: `crontab -e`. Ez annak a felhasználónak a crontabja, akivel belépsz, így csak azt tudja, amit ő.
3. Adj hozzá egy sort, a WordPress-telepítésed könyvtárával:

```bash
* * * * * cd /path/to/your/wordpress/install && wp cron event run --due-now >/dev/null 2>&1
```

A sor a WordPress könyvtárába lép, lefuttatja az esedékes ütemezett eseményeket, ezt percenként ismétli, és a kimenetet eldobja.

4. Mentsd a fájlt, és lépj ki a szerkesztőből.

Így a szerver percenként lefuttatja az esedékes WordPress-feladatokat, ami forgalmas és csendes oldalon is megbízhatóbb az alapértelmezett módnál.
