WP JS file functions.php


#1

Ovako imam problem spajanja js filea sa wordpress temom. Css radi normalno ali kada pokusam spojit js. ne radi. Pokusao sam nekoliko vrsta kodova, putanja je dobra ali iz nekog razloga ne vuce .js . Ako moze pomoc tnx

edit: radi mi ovako ako ubacim direktno u footer.php i to moram ubacit u root js folder ali preko functions.php ne radi nikako. I koja je razlika izmedu ova dva nacina? tj. dali ima prednosti i mane?

   function wpwm_theme_js() {

        wp_enqueue_script( 'bootstrap', get_theme_file_uri() . '/js/bootstrap.min.js', array('jquery'), false);
        
    }

    add_action( 'wp_enqueue_scripts', 'wpwm_theme_js' );

#2

Mozes staviti i direktno o footer.php, ali ne mozes direktno staviti path nego ide

<script src="<?php echo get_template_directory_uri(); ?>/js/bootstrap.min.js"></script>
Koliko sam ja primjetio nema baš neke razlike, osim možda urednosti koda dok pozivaš više skripti.


#3

Zadnji parametar false se odnosi na to da li ces loadati JS file u footeru ili ne.

Postavi kao true i trebalo bi raditi.

I pitanje je da li vidis na kraju taj file renderovan u source-u na tvojoj stranici ?


#4

Loadam ga u headeru preko functions.php.

Kad gledam preko chrome alata pokazuje da ga povuce ali iz nekog razloga ne funkcionira. Kad stavim u footer ovaj <script src="/js/bootstrap.min.js"></script> radi normalno. napomena da onda i premjestim .js file u domena/js/bootstrap… Znaci sto se putanje tice na oba dva nacina je putanja dobra jer sam ubacio na dva mjesta.


#5

probaj umjesto get_theme_file_uri() staviti get_template_directory_uri() i na kraju umjesto false neka bude true


#6

Pokusao sam i to i ne radi. Ali najcudnije je sta povuce .js fajlove ali ne rade ako ide preko functions.php. Ali dobro nije ni bitno onda ubacit cu u footer onaj kod i to je to. Mislio sam da mozda nebi bilo problema na ovaj nacin preko footer ali posto je isto onda cu ovako rjesit. Hvala na pomoci


#7

function load_scripts() {
wp_register_script( ‘scripts’, ‘putanja_do_fajla’, array(), null, true );
wp_enqueue_script( ‘scripts’ );
}
add_action(‘wp_enqueue_scripts’, ‘load_scripts’);

Probaj register pa enque


#8

Eee, pa gdje si Uber Gosu? :blush:
long-time-no-see
:o:


#9

https://developer.wordpress.org/reference/functions/wp_enqueue_script/

Stavi ovako:

wp_enqueue_script( ‘bootstrap’, get_template_directory_uri() . ‘/js/bootstrap.min.js’, array(‘jquery’), null, true );

Ono što vidim, tebi fali zadnji parametar, pa ti možda stavi u head ili prije jquery-a. Kad ovako staviš, ovo u array wp povlači prije tvoje skripte, ovo null znači da ne ispisuje verziju, a true znači da stavi u footer.

Umjesto get_template_directory_uri() možeš eventualno probat get_stylesheet_directory_uri().

Kod wp-a ovo s funkcijom je standard, a i onda ti wp loada skripte koje ima, a tvoja ih treba.