WordPress
Kolejkowanie skryptów
Szukaj…
Składnia
- wp_enqueue_script ($ uchwyt, $ src, $ deps, $ ver, $ in_footer)
Parametry
Parametr | Detale |
---|---|
uchwyt $ | (ciąg) (wymagane) Nazwa skryptu. Powinien być wyjątkowy. |
$ src | (ciąg) (Opcjonalnie) Pełny adres URL skryptu lub ścieżka skryptu względem katalogu głównego WordPress. Wartość domyślna: false |
$ deps | (tablica) (Opcjonalnie) Tablica zarejestrowanych skryptów obsługuje ten skrypt. Wartość domyślna: array () |
$ ver | (ciąg | bool | null) (Opcjonalnie) Ciąg określający numer wersji skryptu, jeśli ma taki, który jest dodawany do adresu URL jako ciąg zapytania w celu pomijania pamięci podręcznej. Jeśli wersja ma wartość false, numer wersji jest dodawany automatycznie, tak jak aktualnie zainstalowana wersja WordPress. Jeśli ustawiono wartość null, żadna wersja nie zostanie dodana. Wartość domyślna: false |
$ in_footer | (bool) (Opcjonalnie) Czy kolejkować skrypt przed </body> zamiast w <head> . Wartość domyślna: false |
Kolejkowanie skryptów w functions.php
Jeśli chcesz dodać skrypt custom.js
który znajduje się w folderze js/
twojego motywu, musisz go kolejkować. W functions.php
dodaj
<?php
add_action( 'after_setup_theme', 'yourtheme_theme_setup' );
if ( ! function_exists( 'yourtheme_theme_setup' ) ) {
function yourtheme_theme_setup() {
add_action( 'wp_enqueue_scripts', 'yourtheme_scripts' );
add_action( 'admin_enqueue_scripts', 'yourtheme_admin_scripts' );
}
}
if ( ! function_exists( 'yourtheme_scripts' ) ) {
function yourtheme_scripts() {
wp_enqueue_script( 'yourtheme_custom', get_template_directory_uri().'/js/custom.js', array( 'jquery' ), '1.0.0', true );
}
}
if ( ! function_exists( 'yourtheme_admin_scripts' ) ) {
function yourtheme_admin_scripts() {
wp_enqueue_script( 'yourtheme_custom', get_template_directory_uri().'/js/custom.js', array( 'jquery-ui-autocomplete', 'jquery' ), '1.0.0', true );
}
}
Kolejkuj skrypty tylko dla IE
add_action( 'wp_enqueue_scripts', 'enqueue_my_styles_and_scripts' );
/**
* Enqueue scripts (or styles) conditionally.
*
* Load scripts (or stylesheets) specifically for IE. IE10 and above does
* not support conditional comments in standards mode.
*
* @link https://gist.github.com/wpscholar/4947518
* @link https://msdn.microsoft.com/en-us/library/ms537512(v=vs.85).aspx
*/
function enqueue_my_styles_and_scripts() {
// Internet Explorer HTML5 support
wp_enqueue_script( 'html5shiv',get_template_directory_uri().'/js/html5shiv.js', array(), '3.7.3', false);
wp_script_add_data( 'html5shiv', 'conditional', 'lt IE 9' );
// Internet Explorer 8 media query support
wp_enqueue_script( 'respond', get_template_directory_uri().'/js/respond.js', array(), '1.4.2', false);
wp_script_add_data( 'respond', 'conditional', 'lt IE 9' );
}
Kolejkowanie skryptów warunkowo dla określonych stron
Za pomocą operatorów warunkowych w WordPress można umieszczać skrypty na określonych stronach witryny.
function load_script_for_single_post(){
if(is_single()){
wp_enqueue_script(
'some',
get_template_directory_uri().'/js/some.js',
array('jquery),
'1.0.0',
false
);
}
}
add_action('wp_enqueue_scripts','load_script_for_single_post');
W powyższym przykładzie, jeśli bieżąca strona jest pojedyncza, skrypt zostanie umieszczony w kolejce. W przeciwnym razie funkcja wp_enqueue_script nie zostanie wykonana.
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow