Tovább a tartalomhoz

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.

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 );
} );

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.

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 }
} );

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.

É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:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások