WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

wp_enqueue_scripts хук-событие . WP 2.8.0

Срабатывает в момент подключения в очередь на вывод файлов стилей и скриптов.

На этот хук принято вешать функции, которые подключают стили и скрипты темы. Т.е. через этот хук принято подключать файлы стилей и скриптов: смотрите wp_enqueue_script() и wp_enqueue_style().

Это событие срабатывает в момент хука wp_head с приоритетом 1, т.е. так:

add_action( 'wp_head', 'wp_enqueue_scripts', 1 );

Использование

add_action( 'wp_enqueue_scripts', 'action_function_name_7714' );
function action_function_name_7714(){
	// action...
}

Примеры

#1 Подключение стилей и скриптов темы

Для темы/плагина правильно подключать стили и скрипты через хук wp_enqueue_scripts:

// правильный способ подключить стили и скрипты темы
add_action( 'wp_enqueue_scripts', 'theme_add_scripts' );
function theme_add_scripts() {
	// подключаем файл стилей темы
	wp_enqueue_style( 'style-name', get_stylesheet_uri() );

	// подключаем js файл темы
	wp_enqueue_script( 'script-name', get_template_directory_uri() .'/js/example.js', array(), '1.0', true );
}

Где вызывается хук

wp_enqueue_scripts()
wp_enqueue_scripts
wp-includes/script-loader.php 2231
do_action( 'wp_enqueue_scripts' );

Где используется хук (в ядре WP)

wp-includes/customize/class-wp-customize-selective-refresh.php 163
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_preview_scripts' ) );
wp-includes/class-wp-customize-widgets.php 1058
add_action( 'wp_enqueue_scripts', array( $this, 'customize_preview_enqueue' ) );
wp-includes/widgets/class-wp-widget-media.php 110
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_preview_scripts' ) );
wp-includes/widgets/class-wp-widget-text.php 61
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_preview_scripts' ) );
wp-includes/default-filters.php 481
add_action( 'wp_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 );
wp-includes/default-filters.php 483
add_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles' );
wp-includes/class-wp-customize-nav-menus.php 1177
add_action( 'wp_enqueue_scripts', array( $this, 'customize_preview_enqueue_deps' ) );
3 коммента
  • ошибка в вызове обработчика (theme_add_scripts вместо theme_name_scripts):

    // правильный способ подключить стили и скрипты темы
    add_action( 'wp_enqueue_scripts', 'theme_add_scripts' );
    function theme_name_scripts() {
    	// подключаем файл стилей темы
    	wp_enqueue_style( 'style-name', get_stylesheet_uri() );
    
    	// подключаем js файл темы
    	wp_enqueue_script( 'script-name', get_template_directory_uri() .'/js/example.js', array(), '1.0', true );
    }
    1
    Ответить4 мес назад #
Здравствуйте, !     Войти . Зарегистрироваться