Jak přidat do šablony css a js

Zvolené téma obsahuje celkem 2 odpovědi. Do diskuze (2 účastníci) se naposledy zapojil uživatel  jjp a poslední změna je stará 7 let.

Aktuálně jsou na stránce zobrazeny 3 příspěvky - 1. až 3. (z celkem 3)
  • Autor
    Příspěvky
  • #31814

    jjp
    Participant

    Zdravím,
    trošku bojuji s načtením CSS a JS do vlastní WordPress šablony.

    Mám přidané CSS a JS s pomocí tohoto kódu ve functions.php:

    wp_register_style( 'bootstrap-css', get_template_directory_uri() . '/bootstrap/css/bootstrap.min.css', false);
    wp_register_style( 'my-css', get_stylesheet_uri(), false);
    wp_register_script( 'bootstrap-js', get_template_directory_uri() . '/bootstrap/js/bootstrap.min.js', array( 'jquery' ));
    
    wp_enqueue_style( 'bootstrap-css' );
    wp_enqueue_style( 'my-css' );
    wp_enqueue_script( 'bootstrap-js' );

    Bohužel, z nějakého, pro mě záhadného důvodu se css styly aplikují i na administraci, což vůbec nechci.

    Zkoušel jsem i jiný kód a to konkrétně tento podle WP dokumentace: https://codex.wordpress.org/Plugin_API/Action_Reference/wp_enqueue_scripts

    function themeslug_enqueue_style() {
      wp_enqueue_style( 'bootstrap.min', get_template_directory_uri() . '/bootstrap/css/bootstrap.min.css', false ); 
      wp_enqueue_style( 'style', get_stylesheet_uri(), false );
    }
     
    function themeslug_enqueue_script() {
      wp_enqueue_script( 'bootstrap-js', get_template_directory_uri() . 'bootstrap/js/bootstrap.min.js', false );
    }
     
    add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_style' );
    add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_script' ); 

    Bohužel tady u toho zase nefunguje JS.

    Takže už tápu a nevím, jak toto linkování JS a CSS vlastně funguje :(

    Děkuji mockrát za každou pomoc

    #31823

    admin
    Keymaster
    Web

    První příklad se bude aplikovat všude, protože styly a skripty nenačítáte prostřednictvím akce wp_enqueue_scripts, která se aplikuje pouze na frontend.

    Druhý příklad podle manuálu by měl fungovat. Objevuje se nějaká chyba s načtením .js souboru v konzoli prohlížeče? Styly se v pořádku načtou a JavaScript už nikoli? Máte správnou cestu (a název) k souboru?

    #31882

    jjp
    Participant

    V konzoli to zobrazuje 404. Problém bude možná v adrese a to kvůli tomu, že šablonu vytvářím na WordPressu nainstalovaném na XAMPP.

    V konzoli se zobrazuje adresa k JS tato:
    http://localhost/myprojects/mujweb/bootstrap/js/bootstrap.min.js

    a tato:
    http://localhost/myprojects/mujweb/wp-content/themes/mujweb-themebootstrap/js/bootstrap.min.js?ver=4.7.2

    Což je asi špatně.

    Nevím, jestli se to bude takto chovat i na hostingu. Jak to případně napravit? Předpokládám, že funkce get_template_directory_uri() má přeci doplnit url až k adresáři šablony.

Aktuálně jsou na stránce zobrazeny 3 příspěvky - 1. až 3. (z celkem 3)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti