Kodeks WordPress mówi :
$ in_footer
(boolean) (opcjonalnie) Zwykle skrypty są umieszczane w sekcji. Jeśli ten parametr jest prawdziwy, skrypt jest umieszczany na dole. Wymaga to, aby motyw miał hak wp_footer () w odpowiednim miejscu. Pamiętaj, że musisz skasować skrypt przed uruchomieniem wp_head, nawet jeśli zostanie on umieszczony w stopce. (Nowość w WordPress 2.8) Domyślnie: false
Dodałem więc true
po każdym skrypcie src path
:
/**
* JavaScript
*/
function my_scripts_method() {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js', true );
wp_enqueue_script( 'jquery' );
}
add_action('wp_enqueue_scripts', 'my_scripts_method');
function media_queries_script() {
wp_register_script( 'mediaqueries', get_template_directory_uri() . '/js/css3-mediaqueries.js', true );
wp_enqueue_script( 'mediaqueries' );
}
add_action('wp_enqueue_scripts', 'media_queries_script');
function custom_script() {
wp_register_script( 'custom', get_template_directory_uri() . '/js/custom.js', true );
wp_enqueue_script( 'custom' );
}
add_action('wp_enqueue_scripts', 'custom_script');
function replace_script() {
wp_register_script( 'replace', get_template_directory_uri() . '/js/jquery.ba-replacetext.min.js', true );
wp_enqueue_script( 'replace' );
}
add_action('wp_enqueue_scripts', 'replace_script');
Ale skrypty są nadal zawarte w nagłówku.
Wszelkie sugestie, aby to naprawić?
źródło
true
w jednym z nichwp_enqueue
lubwp-register_script
działa dobrze.wp_register_script()
Pobiera tyle samo argumentów i dodaje do$wp_scripts
globalnej tablicy idata
podtablicy. W połączeniu z niewłaściwymi informacjami i okropną czytelnością twojej odpowiedzi, muszę dać ci -1 (zostaną usunięte przy przeróbce).<?php wp_footer(); ?>
nie istniał w szablonie strony. Następnietrue
parametr wwp_enqueue_script
wykonał swoją pracę.Przekazujesz wartość bool do parametru zależności. Spróbuj tego:
źródło
Miałem ten sam problem i po przeprowadzeniu wyszukiwania brakowało mi tej funkcji w niestandardowym motywie:
źródło
Chciałbym tutaj uprościć odpowiedź. Gdy używasz wp_enqueue_script lub wp_register_script do załadowania skryptu w stopce, musisz upewnić się, że podałeś także inne parametry, nawet jeśli są puste.
Próbowałem..
Co nie działało, jak zauważył @janoChen. Wordpress wzywa
Musisz więc uwzględnić
'',
parametry, których nie używasz, jeśli chcesz zadeklarować funkcję wbudowaną. Dlatego poniższy kod działa zgodnie z planem.Następnie możesz zadeklarować funkcję w formacie tablicowym, takim jak pokazuje @Brian Fegter.
źródło
'',
tam , gdzie wymagane są parametry, a nie opcjonalne.Jeśli umieścisz skrypt w nagłówku, ale zadeklarujesz zależność od skryptu umieszczonego w kolejce w stopce, WordPress przeniesie skrypt stopki do nagłówka, aby udostępnić go zależnemu skryptowi.
źródło
Zgodnie z oficjalną dokumentacją WordPress (Ostatnia kontrola - maj 2018):
https://developer.wordpress.org/reference/functions/wp_enqueue_script/
i osobiste doświadczenie z 7+ lat.
Powinieneś zawsze próbować używać funkcji „ wp_enqueue_scripts ” dla lepszej kompatybilności z zainstalowanymi wtyczkami / motywami.
Więcej informacji na temat korzystania z oficjalnych dokumentów można znaleźć tutaj
PS Jeśli uznasz tę odpowiedź za przydatną, proszę dać jej „▲” ( ArrowUP ), jeśli uważasz, że można ją poprawić, prosimy o komentarz poniżej.
źródło