# JavaScript hozzáadása az admin felülethez

> Három mód arra, hogyan tölthetsz be saját szkriptet a wp-admin felületen, és mire figyelj a függőségeknél és a feltételes betöltésnél.

A `wp-admin` felületre szánt szkripteket és stílusokat többféleképpen adhatod hozzá az oldalhoz. A választás a kódtól és a használt téma összetettségétől függ. Az oldal frontendjére szánt szkriptekről a [JavaScript hozzáadása az oldal frontendjéhez](https://hub.hellowp.io/hu/plugins/gravityforms/hogyan-javascript-a-frontenden/) fejezet szól.

A téma cseréje vagy frissítése felülírhatja a téma mappáját, így az ott végzett módosításaid elvesznek. Készíts rendszeres mentést, és használj gyermektémát.

## 1. mód: `admin_enqueue_scripts`

Az ajánlott megoldás, hogy a szkriptet külön fájlba teszed, és a szokásos módon regisztrálod és sorba állítod a WordPress `admin_enqueue_scripts` akciójával, valamint a `wp_register_script()` és a `wp_enqueue_script()` függvénnyel.

Ha az Ütközésmentes mód (No Conflict Mode) be van kapcsolva, az ilyen szkriptek nem töltődnek be, hacsak nem engedélyezed őket a `gform_noconflict_scripts` szűrővel.

A példában a `custom-script-name` és a `custom-script-location` helyére a saját szkripted neve és helye kerül. A `CUSTOM_SCRIPT_VERSION` helyére a szkript verzióját megadó szöveget vagy konstanst írd: ez lekérdezési sztringként hozzáadódik az URL-hez, hogy a böngésző a frissített szkriptet töltse be.

```php
add_action( 'admin_init', function() {
    wp_register_script( 'custom-script-name', 'custom-script-location', array( 'jquery', 'wp-util' ), CUSTOM_SCRIPT_VERSION );
} );
add_action( 'admin_enqueue_scripts', function() {
    wp_enqueue_script( 'custom-script-name', 'custom-script-location', array( 'jquery', 'wp-util' ), CUSTOM_SCRIPT_VERSION );
} );
```

## 2. mód: a GFAddOn keretrendszer

Ha saját kiegészítőt írsz a Gravity Forms kiegészítő-keretrendszerével (`GFAddOn`), a szkriptek és stílusok betöltését a keretrendszer saját módszereivel intézd.

## 3. mód: `admin_print_footer_scripts`

Ha harmadik féltől származó kódrészlet-kezelő bővítményt használsz, egyszerűbb lehet a WordPress `admin_print_footer_scripts` akciójával kiírni a szkriptet. A példa csak Gravity Forms oldalakon írja ki:

```php
add_action( 'admin_print_footer_scripts', function() {
    if ( method_exists( 'GFForms', 'is_gravity_page' ) && GFForms::is_gravity_page() ) { ?>

        <script type="text/javascript">
            // ide írd a szkriptet
        </script>

    <?php }
} );
```

## Tudnivalók

### Függőségek

Gondoskodj róla, hogy a szkripted előtt betöltődjenek azok a szkriptek, amelyekre a kódod épít. Az első két mód paramétere egy függőséglista: ebben azoknak a szkripteknek a nevei szerepeljenek, amelyeknek a tiéd előtt kell betöltődniük.

### Feltételes betöltés

Érdemes a szkriptet csak azokon az admin oldalakon betölteni, ahol szükséges. Az 1. és a 3. módnál különösen ajánlott, hogy a szkript kiszolgálása előtt ellenőrizd, melyik admin oldal töltődik be. A GFAddOn keretrendszerben beállíthatsz betöltési feltételeket (enqueue conditions) a szkriptekhez.
