WordPress jQuery Ekleme

20 Kasım 2019 tarihinde Emre Can ÖZTAŞ tarafından paylaşıldı.

WordPress ile tema geliştirirken; jQuery’i eklemenize izin vermez. Çünkü kendi yapısında da jQuery vardır ve bu jQuery dosyasını kullanmanızı ister.

Normal şartlar altında aşağıdaki gibi JavaScript kütüphaneleri veya framework’leri ekleyebilirsiniz.

add_action('wp_enqueue_scripts', 'add_jquery');

function add_jquery()
{
    wp_enqueue_script('custom_name', get_template_directory_uri() . '/script-path/script-name.js', array(), true, true);
}

custom-name yazan yere; JavaScript dosyanız için belirleyici bir isim yazmalısınız. Daha sonra da; /script-path/script-name.js yazan yere de JavaScript dosyanızın tam yolunu yazmalısınız. Fakat burada custom-name yazan yere; jQuery yazdığınızda temanıza, jQuery eklenmez. Burada; jQuery yerine örneğin: jQuery_123 gibi farklı bir isim yazarsanız jQuery dosyası temanıza eklenir. Böyle bir sorun ile karşılaşmamak için yani; custom-name yazan yere jQuery yazmak için aşağıdaki kodları kullanabilirsiniz.

add_action('wp_enqueue_scripts', 'add_jquery');

function add_jquery() { 
    wp_deregister_script('jquery');
    wp_enqueue_script('jquery', get_template_directory_uri() . '/jquery-3.4.1.min.js', array(), true, true); 
}

Burada dikkat edilmesi gereken şey ise; WordPress’in de aktif olarak jQuery’i kullanıyor olması. Yukarıdaki gibi bir kullanımda; Dashboard tarafı da bu jQuery değişikliğinden etkilenecektir. Dolayısıyla; yukarıdaki kodlarımızı Dashboard yani admin kısmından uzak tutalım. Bu işlemi de aşağıdaki gibi gerçekleştirebiliriz.

if (!is_admin()) add_action('wp_enqueue_scripts', 'add_jquery');

function add_jquery() { 
    wp_deregister_script('jquery');
    wp_enqueue_script('jquery', get_template_directory_uri() . '/jquery-3.4.1.min.js', array(), true, true); 
}

Yukarıdaki kodlarımız da yaptığımız şey; Dashboard kısmına ekleme sadece; temalara yani normal kullanıcıların gördüğü kısımda jQuery kullan.

Kategoriler: [Wordpress] Etiketler: #jquery #wordpress #wp-theme

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

*
*

This site uses Akismet to reduce spam. Learn how your comment data is processed.