# Shortcode-ok

> A beépített shortcode-ok használata, egyéni shortcode létrehozása és a kupon megjelenítése a rendelés e-mailjében.

A shortcode-ok a sablonba illesztett helyőrzők: az e-mail küldésekor a YayMail a valódi adatokkal helyettesíti őket (például a webhely nevével, a vásárló e-mail-címével vagy a rendelés adataival).

## A beépített shortcode-ok

A szerkesztő eszköztárának három pontos menüjében a **Shortcodes** pont egy kereshető listát nyit meg. A lista kategóriákra tagolt (például **GENERAL**), és minden sorban ott a shortcode és a leírása.

![A Shortcodes ablak](./kepek/parancs-shortcodes.webp)

*A Shortcodes ablak* (https://minta-bolt.hu/wp-admin/admin.php?page=yaymail-settings)

Néhány példa az általános csoportból:

| Shortcode | Mit ad |
| --- | --- |
| `[yaymail_site_name]` | A webhely neve |
| `[yaymail_site_link text_link="Kezdőlap URL"]` | Hivatkozás a webhelyre |
| `[yaymail_site_url]` | A webhely URL-je |
| `[yaymail_domain]` | A domain |
| `[yaymail_user_account_link text_link="Fiókom"]` | Hivatkozás a felhasználói fiókra |
| `[yaymail_user_account_url]` | A felhasználói fiók URL-je |
| `[yaymail_user_email]` | A felhasználó e-mail-címe |
| `[yaymail_user_id]` | A felhasználó azonosítója |

Másold ki a kívánt shortcode-ot a listából, és illeszd be a sablon megfelelő szövegmezőjébe.

A shortcode-ok sablonfüggők: ha egy másik WooCommerce-bővítmény küldi az e-mailt, a megfelelő YayMail sablonban csak azok az adatok jelennek meg, amelyeket az eredeti e-mail is tartalmazott.

### Rendelés meta shortcode-ok

Ha egy külső bővítmény a WooCommerce rendelés metaadataiban tárolja az adatait, a **Shortcodes → Order Meta** részben jeleníthetők meg. Ehhez válassz egy valódi rendelést, amely tartalmazza az adatot. Mintarendelésnél ezek a shortcode-ok nem jelennek meg.

## Egyéni shortcode

Saját shortcode-ot a téma `functions.php` fájljában a `yaymail_customs_shortcode` szűrővel hozhatsz létre.

Szabályok:

- Az egyéni shortcode neve `yaymail_custom_shortcode_` előtaggal kezdődik.
- Az egyéni shortcode-ok csak valódi rendelésnél működnek az e-mailben, tesztlevélnél nem.
- Az egyéni shortcode-ok megjelennek a szerkesztő shortcode listájában.

Első példa, három egyszerű szöveggel:

```php
add_filter(
    'yaymail_customs_shortcode',
    function( $shortcode_list, $yaymail_informations, $args = array() ) {
        $shortcode_list['[yaymail_custom_shortcode_new_order]']        = 'Custom shortcode test New order';
        $shortcode_list['[yaymail_custom_shortcode_processing_order]'] = 'Custom shortcode test Processing order';
        $shortcode_list['[yaymail_custom_shortcode_order_on_hold]']    = 'Custom shortcode test Order on hold';
        return $shortcode_list;
    },
    10,
    3
);
```

Második példa, amely valódi rendelésnél a rendelés azonosítóját adja vissza:

```php
function test_shortcode1(  $shortcode_list, $yaymail_informations, $args = array() ) {
    // Csak valódi rendeléssel tesztelve fut le
    if (isset ($args['order'])) {
        $order = $args['order'];
        $order_id = $order->get_id();
        return $order_id;
    }

    // A YayMailben ez jelenik meg
    return 'test_shortcode';
}

add_filter(
    'yaymail_customs_shortcode',
    function( $shortcode_list, $yaymail_informations, $args = array() ) {
        $shortcode_list['[yaymail_custom_shortcode_test]'] = test_shortcode1($shortcode_list, $yaymail_informations, $args);
        return $shortcode_list;
    },
    10,
    3
);
```

## Kupon megjelenítése az Új rendelés e-mailben

A YayMail megjeleníti a rendelésben használt kupont az Új rendelés e-mailben, így az üzlet csapata látja, melyik kupont alkalmazták.

1. Hozz létre egy kupont a **Marketing → Kuponok → Kupon hozzáadása** oldalon: nevezd el, válaszd ki a kedvezmény típusát (százalékos, fix kosárkedvezmény vagy fix termékkedvezmény), add meg az értéket a kupon összege mezőben, és kattints a közzétételre.
2. Nézd meg a rendeléseket a **WooCommerce → Rendelések** oldalon.
3. Nyisd meg a **YayCommerce → YayMail** oldalt, és válaszd ki az **Új rendelés** sablont. A mintarendelésnél válassz olyat, amelyhez kupon tartozik.
4. Kattints a három pontos menü **Shortcodes** pontjára.
5. A keresőbe írd be: `coupon`. Megtalálod a `[yaymail_order_coupon_codes]` shortcode-ot.
6. Másold ki, és illeszd be egy szövegmezőbe a sablonban.

Ezután az e-mail megjeleníti a rendelésben használt kupont, és a vásárló is látja a saját e-mailjében.
