Kam vložit script?

Zvolené téma obsahuje celkem 4 odpovědi. Do diskuze (3 účastníci) se naposledy zapojil uživatel  sjiamnocna a poslední změna je stará 11 let, 5 měsíců.

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)
  • Autor
    Příspěvky
  • #2744

    Majklen
    Participant
    Web

    Zdravím,

    Mám wordpress web a nevím kam mám vložit soubor kde je <script type="text/javascript" src="disclaimer-adult.js"></script> vyskakovací okno s upozorněním na 18 let, .js soubor mám ve stejné složce a když to dám do headeru ke je šablona tak to nic nedělá. Můžete mi poradit?

    #14421

    sjiamnocna
    Participant
    Web

    Nevím sice přesně o co jde, (šablona/plugin) ale asi bych tam dal (pro mě novou) funkci wp_enqueque_script(), s použitím (nebo bez) další funkce wp_register_script() a zavolanou funkcí add_action(), ale myslím že toto samotné stačit nebude… :) Nejsem na to zas tak dobrej

    #14422

    admin
    Keymaster
    Web

    Majklen: Ano, zmiňovaný kód opravdu nic nedělá, protože tam nemáte upřesněnou cestu k Javascriptovému souboru disclaimer-adult.js. Takto ho bude WordPress hledat na místě domena.tld/disclaimer-adult.js, ale on je v adresáři se šablonou, tedy domena.tld/wp-content/themes/sablona/disclaimer-adult.js. A jak to tedy udělat správně? Stačí použít funkci get_template_directory_uri(), pomocí které cestu automaticky a jednoduše získáte:

    <script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/disclaimer-adult.js"></script>

    Kód můžete vložit do souboru header.php tak, aby byl v rámci úvodní hlavičky (HTML značka head). Je to jednoduché a rychlé, ale budete mít problémy při případné automatické aktualizaci šablony.

    “Správný” způsob totiž v podstatě popsal uživatel sjiamnocna. Javascriptový soubor nejdříve zaregistrujete pomocí funkce wp_register_script() a poté načtete pomocí funkce wp_enqueue_script(). Příklad:

    function separatista_disclaimer_script() {
    wp_register_script( 'disclaimer', get_template_directory_uri() . '/disclaimer-adult.js' );
    wp_enqueue_script( 'disclaimer' );
    }
    add_action( 'wp_enqueue_scripts', 'separatista_disclaimer_script' );

    Tento krátký kód můžete vložit do souboru functions.php (v adresáři aktuálně používané šablony) nebo z něj vytvořit jednoduchý plugin. Výhodou tohoto řešení je fakt, že je oddělené od šablony a správně podle manuálu :-)

    #14423

    Majklen
    Participant
    Web

    Celé to zkouším, v headeru mám pro jistotu 2 kody:

    <script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>http://jenporno.cz/adult.js"></script>
    <script type="text/javascript" src="http://jenporno.cz/adult.js"></script>

    A js soubor je tento: http://diskuse.jakpsatweb.cz/?action=vthread&forum=3&topic=59218

    Je to prý nastaveno aby to nelítalo po každém nastavení stránky, jen jednou za den nebo jak to je. Ale ne a ne to fungovat :/

    #14424

    sjiamnocna
    Participant
    Web

    Jo tak, pokud je to šablona, tak by mělo stačit zapsat jen do souboru header.php, a z toho stačí zapsat pouze cestu k adresáři šablony, a přidat k ní název souboru, popřípadě cestu do podadresáře. Celá vaše verze je hodně mimo, neboť pokud to máte v kořeni webu,je hovadina používat funkci get_template_directory_uri(), protože ta vám najde cestu k umístění používané šablony v adresáři x.xxx/wp-content/themes/mojesablona/. Stačí vám jen použít bloginfo('url') nebo bloginfo('wpurl'), a za něj připojit název souboru (!! nezapomenout mezi ně přidat / !!)

    Přinejhorším takto:

    <script type='text/javascript' src='<?php bloginfo('url/wpurl') ?>/adult.js'></script>.

    Čistším řešením je ale opravdu udělat to přes wp_register_script, jak jsem psal na začátku. Tedy

    function separatista_disclaimer_script() {
    wp_register_script( 'disclaimer', bloginfo('url/wpurl') . '/disclaimer-adult.js' );
    wp_enqueue_script( 'disclaimer' );
    }
    add_action( 'wp_enqueue_scripts', 'separatista_disclaimer_script' );

    *Tuším že funkce bloginfo se asi už k získávání adresy webu moc nepoužívá, tak radši počkej až znovu napíše admin.

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)

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