# Fejlesztőknek: e-mail hookok

> WooCommerce és egyéni hookok beillesztése az e-mail sablonokba a Hook elemmel.

A YayMail a WooCommerce tranzakciós e-mailjeibe a **Hook** elemmel tud saját tartalmat beilleszteni. A Hook elem használatát (hozzáadás, beállítások) a [WooCommerce elemek és hookok](https://hub.hellowp.io/hu/plugins/email-customizer-for-woocommerce/szerkeszto-elemek-woocommerce/) fejezet írja le. Ez a fejezet azt mutatja meg, milyen hookokat kínál fel a lista, és hogyan adhatsz hozzá sajátot.

## Beépített hookok

A **Hook shortcode** legördülő listában a következő elemeket találod:

![A Hook elem legördülő listája](./kepek/fejlesztoknek-hookok-lista.webp)

*A Hook elem legördülő listája* (https://minta-bolt.hu/wp-admin/admin.php?page=yaymail-settings)

A képen a nyitott lista látszik: két WooCommerce hook, a `yaydp_on_sale_products` és a **Custom** lehetőség.

### `woocommerce_email_before_order_table`

A rendelési táblázat **előtt** illeszt be tartalmat. Jó megjegyzéshez, egyedi üdvözléshez vagy ajánlathoz a rendelés-visszaigazoló e-mailek elején. Minden olyan WooCommerce-e-mailben működik, amely rendelési adatokat tartalmaz.

### `woocommerce_email_after_order_table`

A rendelési táblázat **után** illeszt be tartalmat. Hasznos útmutatókhoz, támogatási hivatkozásokhoz vagy a rendelés összegzése utáni üzenethez. Minden rendelési tartalmú e-mailben (feldolgozás alatt, teljesítve, függőben és így tovább) használható.

### Más bővítmények hookjai

Ha a webhelyen van hozzá megfelelő bővítmény, a lista további hookokat is mutat. Ilyen a `yaydp_on_sale_products`, amely a YayPricing (dinamikus árazás) bővítménytől jön: akciós vagy kedvezményes termékek listáját jeleníti meg az e-mailben. Csak azokban a sablonokban érvényes, ahol a dinamikus kedvezmények be vannak kapcsolva.

## Egyéni hook hozzáadása

Saját hookot két lépésben tehetsz az e-mailbe.

1. Deklaráld a hookot PHP-kóddal (például a sablonod `functions.php` fájljában). A visszahívó függvény megkapja az adatokat, amelyek közül a `render_data` alatt például a rendelés (`order`) is elérhető. Amit kiírsz (`echo`), az kerül az e-mailbe:

   ```php
   add_action(
       'your_custom_hook',
       function ( $data ) {
           $render_data = isset( $data['render_data'] ) ? $data['render_data'] : [];
           $order       = isset( $render_data['order'] ) ? $render_data['order'] : null;
           echo 'Your content';
       }
   );
   ```

2. A szerkesztőben húzz be egy **Hook** elemet, a **Hook shortcode** listában válaszd a **Custom** lehetőséget, majd a megjelenő **Custom Hook** mezőbe írd be a shortcode-ot a saját hookod nevével:

   ```
   [yaymail_custom_hook hook="your_custom_hook"]
   ```

![A Hook elem Custom beállítással](./kepek/fejlesztoknek-hookok-egyedi.webp)

*A Hook elem Custom beállítással* (https://minta-bolt.hu/wp-admin/admin.php?page=yaymail-settings)

A képen a **Custom** kiválasztása után megjelenő **Custom Hook** mező látszik. A mező alapértéke a `[yaymail_custom_hook hook="your_hook"]`, ebben kell a `your_hook` helyére a saját hookod nevét írni. A vásznon az elem a shortcode szövegével jelenik meg, az elküldött e-mailben a hookod kimenete áll a helyén.
