# Fejlesztőknek: kódrészletek

> Kész PHP-részletek: elemek engedélyezése adott e-mailekben és oszlop hozzáadása a rendelési tételek táblázatához.

Az alábbi kódrészleteket a sablonod `functions.php` fájljába teheted. Ezek webhelyspecifikus testreszabások: a hookok adottak, a kódot viszont neked kell az oldaladhoz igazítanod.

## Elem engedélyezése adott e-mail sablonban

Az `yaymail_element_available_email_ids` szűrővel megadhatod, hogy egy elem melyik e-mail sablonokban érhető el a szerkesztőben. A példa a `order_details_download` elemet teszi elérhetővé a rendelés részletei (számla) e-mailben:

```php
add_filter( 'yaymail_element_available_email_ids', function ( $available_email_ids, $element ) {
    if ( 'order_details_download' === $element->get_type() ) {
        $available_email_ids[] = \YayMail\Emails\CustomerInvoice::get_instance()->get_id();
    }

    return $available_email_ids;
}, 10, 2 );
```

Az e-mail osztályának neve helyett közvetlenül a WooCommerce e-mail azonosítóját is megadhatod: `$available_email_ids[] = 'customer_invoice';`.

| E-mail | Osztály neve | WooCommerce azonosító |
|---|---|---|
| Új rendelés | `NewOrder` | `new_order` |
| Lemondott rendelés | `CancelledOrder` | `cancelled_order` |
| Sikertelen rendelés (admin) | `FailedOrder` | `failed_order` |
| Sikertelen rendelés (vásárló) | `CustomerFailedOrder` | `customer_failed_order` |
| Feldolgozás alatt | `CustomerProcessingOrder` | `customer_processing_order` |
| Függőben lévő rendelés | `CustomerOnHoldOrder` | `customer_on_hold_order` |
| Teljesített rendelés | `CustomerCompletedOrder` | `customer_completed_order` |
| Visszatérített rendelés | `CustomerRefundedOrder` | `customer_refunded_order` |
| Rendelés részletei | `CustomerInvoice` | `customer_invoice` |
| Vásárlói megjegyzés | `CustomerNote` | `customer_note` |
| Jelszó-visszaállítás | `CustomerResetPassword` | `customer_reset_password` |
| Új fiók | `CustomerNewAccount` | `customer_new_account` |

## Oszlop hozzáadása a rendelési tételek táblázatához

Ha a rendelési tételek táblázatához új oszlopot szeretnél, az `yaymail_get_template` szűrőt használd:

```php
apply_filters( 'yaymail_get_template', $path );
```

Mintakód a bővítmény `views/templates/emails/email-order-items.php` fájljában van. A táblázat átalakítása haladó PHP-tudást igényel.
