Biblioteka jQuery w WordPressie

jQuery to bardzo popularna biblioteka JavaScript, a przy tym bardzo niewielka.

Używając biblioteki jQuery na platformie WordPress można napotkać problemy, szczególnie jeśli mamy zainstalowane wtyczki, które również z niej korzystają i to z różnych wersji… Może to powodować błędy w dzialaniu całego systemu bądź wtyczek.
W jaki sposób dodać bibliotekę, żeby bylo dobrze? Oto kilka sposobów jak sobie z nią radzić.

Funkcja wp_enqueue_script() służy do dodawania skryptów JS do kolejki dołączanych skryptów w nagłówku lub ew. w stopce dokumentu.

Aby dodać standardowo dodaną do WordPressa bibliotekę jQuery (/wp-includes/js/jquery/jquery.js) w sekcji head pliku naglowka dodajemy poniższy kod

<?php wp_enqueue_script("jquery"); ?>

w taki sposob, zeby znajowal sie powyzej polecenia

<?php wp_head(); ?>

Aby sprawdzić jakie podstawowe skrypty js zawiera WordPress należy ich szukać w katalogach /wp-includes/js i /wp-admin/js

Aby dodać inna wersję jQuery z zewnętrznego serwera np. z Google AJAX Libraby można skorzystać z funkcji wp_deregister_script() do odrejestrowania domyślnego skryptu WP, a następnie zarejestrować i dodać do kolejki właściwy skrypt. Najczęściej można się z takim rozwiązaniem spotkać w plikach  szablonu functions.php

if ( !is_admin() ) {
       wp_deregister_script('jquery');
       wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"), false);
       wp_enqueue_script('jquery');
    }

Jeżeli chcemy dodać własne skrypty js należy to zrobić po wywolaniu funkcji wp_head(). Dodajemy skrypty analogicznie jak dodaliśmy bibliotekę jQuery czyli najpierw rejestrujemy za pomocą wp_register_script(), następnie dodajemy do kolejki za pomocą funkcji wp_enqueue_script().

wp_register_script('twojskrypt', get_bloginfo('template_directory') . '/twojskrypt.js');
wp_enqueue_script('twojsrypt');

Dla 100% pewności można użyć jquery w trybie bezkonfliktowym (noConflict). W systemie WordPress jest on ustawiony jako domyślny, dlatego wywołanie funkcji ma sens w przypadku, gdy korzystamy z własnych bibliotek.

var $j = jQuery.noConflict();

$j(function(){
// twoja funkcja
// zamiast $() wpisujemy $j
}
);

You Might Also Like

2 Comments

  1. Adrian

    Hej, dzięki za artykuł. Był bardzo pomocny. Dzięki niemu udało mi się dołączyć własny skrypt JS do WordPressa

  2. x-broker

    dla większej pewności można użyć jquery w trybie bezkonfliktowym

Leave a Reply