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 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
Szekció neve “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.
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
Szekció neve “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
Szekció neve “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:
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
Szekció neve “Tudnivalók”Függőségek
Szekció neve “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
Szekció neve “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.
Készült: