Reklama sponsora

4. Jak dodać style i skrypty



Wstęp

W poprzednich trzech częściach stworzyliśmy elementy stałe dla każdej strony, jednakże do tej pory nie wygląda to zbyt konkretnie. Teraz nadszedł czas aby dodać własne arkusze stylów określające wygląd poszczególnych elementów strony oraz skrypty JavaScript dzięki którym można nieco pobudzić naszą stronę i wywołać dowolne zachowanie elementów.

Zasada dodawania stylów i skryptów jest taka sama i całkiem analogiczna jak w przypadku rejestracji sidebara w poprzedniej części kursu. Tym razem także stworzymy funkcję, w której zawrzemy inne funkcje odpowiedzialne za konkretne czynności, oraz którą następnie podepniemy pod odpowiedni Zaczep.

Podczepiamy funkcję

Na początek powtórzmy analogię z poprzedniej części. Tworzymy własną funkcję o indywidualnej nazwie (w tym przypadku będzie to zwp_add_scripts_and_styles()), którą następnie zaczepiamy pod hak odpowiedzialny za ładowanie skryptów i styli. Ogólnie do obu tych czynności służy jeden zaczep i jest to wp_enqueue_scripts . 

 


function zwp_add_scripts_and_styles() {
    //Tutaj dodajemy nasze skrypty i style
}
add_action( 'wp_enqueue_scripts', 'zwp_add_scripts_and_styles' );

Teraz możemy utworzyć nowy katalog w lokalizacji szablonu o nazwie js, który będzie zawierał skrypty javascript. Jeśli planujemy większą ilość plików ze stylami możemy utworzyć dodatkowy katalog o nazwie css.

Załączamy style

Kolejnym krokiem będzie podczepienie arkuszy stylów określających wygląd elementów. W tym celu wykorzystujemy funkcję

wp_enqueue_style( 'nasza-nazwa', get_stylesheet_uri() );

Funkcja ta pobiera kilka argumentów, z których najważniejsze są dwa pierwsze. Pierwszy to nasza indywidualna nazwa stylu a druga to ścieżka do pliku ze stylami. W tym przypadku została wykorzystana funkcja get_stylesheet_uri(), która zwraca lokalizację głównego pliku o nazwie style.css, który stworzyliśmy na początku.

Jeśli chcemy umieścić dodatkowe pliki możemy wykorzystać funkcję

get_template_directory_uri()

Która zwraca lokalizację naszego szablonu. Dla przykładu utworzymy sobie dodatkowy plik w katalogu css dodamy do naszego szablonu.

 

function zwp_add_scripts_and_styles() {
    wp_enqueue_style( 'zwp-first-css', get_stylesheet_uri() );
    wp_enqueue_style( 'zwp-second-css', get_template_directory_uri() . '/css/second.css');
}

Teraz aby przetestować działanie naszego kodu dodamy trochę kodu css do plików style.css w katalogu głównym i second.css w nowo utworzonym katalogu css.

W pliku style.css zawierającym główne style wyśrodkujemy zawartość całej strony.  W tym celu umieszczamy kod:

body {
    text-align: center;
}

Następnie w pliku dodatkowym css/second.css zmienimy kolor tła całej strony na srebrny (silver). W tym celu należy umieścić w tym pliku następujący kod:

body {
    background-color: silver;
}

Jako końcowy efekt powinniśmy uzyskać stronę z wyśrodkowaną treścią i zmienionym kolorem. Wprawdzie nie wygląda to najlepiej ale oznacza że wszystko działa w porządku. Efekt na obrazku poniżej.

wssis1

Dodajemy skrypty

Teraz skoro już wiemy jak dodać style ze skryptami także powinno pójść łatwo ponieważ istnieje tu pewna analogia. Ogólnie skrypty ładujemy przeważnie w tej samej funkcji.

Do dodania skryptu JavaScript wykorzystujemy funkcję
wp_enqueue_script( string $handle, string $src = ”, array $deps = array(), string|bool|null $ver = false, bool $in_footer = false )

Jak widać pobiera ona pięć argumentów, z których obowiązkowy jest tylko pierwszy gdzie podajemy nazwę skryptu, ale aby nasz kod działał podana nazwa musi być wcześniej zarejestrowana. WordPress udostępnia wiele takich nazw, z których zapewne „jquery” okaże się najbardziej przydatna. Jednakże ponieważ WordPress udostępnia w tym miejscu tyle możliwości że można by napisać z tego książkę to w tym miejscu skupimy się na dodaniu własnego skryptu.

W przypadku dodawania własnego skryptu najbardziej interesuje nas drugi parametr $src , gdzie podajemy lokalizację pliku. W tym przypadku okazuje się przydatna wcześniej wykorzystana funkcja do dodania własnego pliku stylów czyli get_template_directory_uri(), kolejne zmienne może są mniej istotne. $deps opcjonalnie może pobrać nazwy skryptów, które mają zostać załadowane z bieżącym, $ver określa wersję. bardziej istotny może się okazać parametr $in_footer który wskazuje na to gdzie skrypt ma być dołączony, na początku czy na końcu dokumentu. Ogólnie jak mamy okazję to $in_footer ustawiamy na TRUE i umieszczamy skrypty na końcu, wtedy najpierw wczytuje się strona a na końcu skrypty a nie odwrotnie, co może wpłynąć pozytywnie na działanie.

Teraz do naszej funkcji dołączmy jedną linijkę:

 

function zwp_add_scripts_and_styles() {
    wp_enqueue_style( 'zwp-first-css', get_stylesheet_uri() );
    wp_enqueue_style( 'zwp-second-css', get_template_directory_uri() . '/css/second.css');
    wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/script.js', array(), '1.0.0', true );
}

Zaś do naszego pliku js/script.js dodajemy niezwykle prosty kawałek kodu wykorzystywany najczęściej przy wyszukiwaniu błędów w skryptach.

 

console.log("zwp test");

Teraz aby sprawdzić działanie naszego skryptu otwieramy konsolę JavaScript w przeglądarce. W większości przeglądarek wygląda to podobnie a najprościej jest nacisnąć kombinację klawiszy ctrl + shift + I lub po prostu myszką na stronie prawym i zbadaj. Wtedy powinny się pojawić narzędzia programistyczne, z zakładkami. Z zakładek wybieramy Console. Jeśli wynik wygląda podobnie jak na obrazku poniżej oznacza to że wszystko jest ok i poprawnie dołączyliśmy nasz plik.

wssis2

No i to tyle z dzisiejszej części. Stan szablonu po tej części można pobrać zwp4

 

Dodany przez writing a doctoral dissertation
2022-02-12 05:55:52

i need help with my dissertation https://helpon-doctoral-dissertations.net/

Dodany przez dissertation writing for dummies
2022-02-12 02:33:24

buy dissertation help https://dissertations-writing.org/

Dodany przez dissertation title
2022-02-11 21:44:51

dissertation proposal defense https://help-with-dissertations.com/

Dodany przez apa cite dissertation
2022-02-11 17:44:42

dissertation editor https://dissertationwriting-service.com/

Dodany przez dissertation data analysis help
2022-02-10 20:30:16

dissertation abstracts https://buydissertationhelp.com/

Dodany przez brian christopher slots
2022-02-04 16:30:21

hollywood slots https://slotmachinegameinfo.com/

Dodany przez jackpot magic slots
2022-02-04 13:13:57

aristocrat slots free play https://www-slotmachines.com/

Dodany przez free slots vegas world
2022-02-04 07:27:01

free slots https://411slotmachine.com/

Dodany przez free cats slots
2022-02-04 04:34:08

fa fa fa slots https://download-slot-machines.com/

Dodany przez clearwater slots
2022-02-04 01:13:40

pussy slots teen https://beat-slot-machines.com/

Dodany przez slots jackpot casino
2022-02-03 22:57:58

free slots to play now https://slot-machine-sale.com/

Dodany przez youtube slots
2022-02-03 18:39:31

slots garden https://slotmachinesforum.net/

Dodany przez office mailbox slots
2022-01-29 07:18:37

no deposit slots https://slotmachinesworld.com/

Dodany przez total slots at cashcreek
2022-01-29 06:31:25

carnival in rio slots https://pennyslotmachines.org/

Dodany przez slots of montana
2022-01-29 03:11:24

hollywood slots https://candylandslotmachine.com/

Dodany przez heart of vegas free slots
2022-01-28 21:23:32

lucky slots 777 free play https://freeonlneslotmachine.com/

Dodany przez free slots no download
2022-01-28 19:49:20

bellagio slots guide https://2-free-slots.com/

Dodany przez gay sex dating
2022-01-15 21:41:32

most famous gay dating site https://speedgaydate.com/

Dodany przez 123flash chat gay
2022-01-14 21:41:13

reddit gay sex chat room https://gay-buddies.com/

Dodany przez free gay phone chat line
2022-01-14 18:32:28

gay cam chat webcam https://gaytgpost.com/

Dodany przez gay chubby dating
2022-01-14 15:17:03

top gay dating sites dallas texas https://gaypridee.com/

Dodany przez gay live chat rochester video
2022-01-14 12:59:32

live gay chat https://bjsgaychatroom.info/

Dodany przez 3starred
2022-01-12 22:42:42

3copyright


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *