Javascript — Wp_Enqueue_Script() Вообще Не Работает

  • Автор темы Seethyamest30
  • Обновлено
  • 21, Oct 2024
  • #1

Я пытаюсь поставить файлы JavaScript в очередь с помощью wp_enqueue_script(), но он вообще не работает. Вот мой код:

 function load_css_js() {

wp_enqueue_style('gdgt-base', get_template_directory_uri() . '/css/gdgt-base.css');

wp_enqueue_style('gdgt-icon', get_template_directory_uri() . '/icons/css/gdgt.css', true);

wp_register_script('gdgt-base', get_template_directory_uri() . '/js/gdgt-base.js', array( 'jquery' ) , true);

wp_enqueue_script('gdgt-base');
}

add_action('wp_enqueue_scripts', 'load_css_js');
 

Однако, когда я отменяю регистрацию WP Javasciprt по умолчанию и регистрирую jquery откуда-то еще, это работает. Что может вызвать эту проблему? Спасибо за помощь!

#javascript #wp-enqueue-script

Seethyamest30


Рег
25 Oct, 2024

Тем
71

Постов
197

Баллов
572
  • 25, Oct 2024
  • #2

 
 
 
 
 
 function load_css_js() {

wp_enqueue_style('gdgt-base-style', get_template_directory_uri() . '/css/gdgt-base.css');

wp_enqueue_style('gdgt-icon', get_template_directory_uri() . '/icons/css/gdgt.css');

wp_enqueue_script('gdgt-base-script', get_template_directory_uri() . '/js/gdgt-base.js', array( 'jquery' ) , '2019' true);

}

add_action('wp_enqueue_scripts', 'load_css_js');
 
и wp_enqueue_script( string $handle, string $src = '', array $deps = array(), string|bool|null $ver = false, bool $in_footer = false ) принимает множество параметров, и очень важно использовать их в правильном порядке, иначе эти функции не будут работать.

Вот полный набор параметров для каждой функции.

wp_enqueue_script( 'footerScript', get_stylesheet_directory_uri() . '/assets/js/appFooter.js', array(), false, true );

В твоем wp_enqueue_script( 'footerScript', get_stylesheet_directory_uri() . '/assets/js/appFooter.js', array( '' ), false, true ); you define array() , array( '' ) correctly but function load_css_js() { wp_enqueue_style( 'gdgt-base', get_template_directory_uri() . '/css/gdgt-base.css', false, NULL, 'all' ); wp_enqueue_style( 'gdgt-icon', get_template_directory_uri() . '/icons/css/gdgt.css', false, NULL, 'all' ); wp_register_script( 'gdgt-base', get_template_directory_uri() . '/js/gdgt-base.js', array( 'jquery' ), NULL, false ); wp_enqueue_script( 'gdgt-base' ); } add_action( 'wp_enqueue_scripts', 'load_css_js' ); к wp_enqueue_script which is not correct. Same goes for true .

Итак, вот ваша фиксированная функция.

$deps

Для получения дополнительной информации прочтите документацию по каждой функции в кодексе.

 

Elenamay68


Рег
28 Nov, 2019

Тем
76

Постов
197

Баллов
587
  • 25, Oct 2024
  • #3

Я думал, что внес свой вклад в пользу других идиотов, подобных мне. :-)

Я потратил всего час, потому что написал $src instead of $handle в зависимостях.

Просто знайте, что есть разница между:

wp_enqueue_style

и

wp_enqueue_style( $handle, $src, $deps, $ver, $media ); wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );

... Первый никогда не загрузится. Второй будет. :-)

Ответ @Robert_Hue привел меня к моему ответу.

 

Yogurth


Рег
25 May, 2005

Тем
57

Постов
229

Баллов
544
  • 25, Oct 2024
  • #4

При регистрации и постановке скриптов в очередь вам не нужно вызывать wp_register_script() и wp_enqueue_script(). Просто вызовите wp_enqueue_script().

Основной синтаксис wp_enque_script:

wp_enqueue_script


Теперь согласно вашему коду это должно быть так:

wp_enqueue_style

[посещать] : https://developer.wordpress.org/reference/functions/wp_enqueue_script/
документацию для получения дополнительной информации.

 

Real_warrior1


Рег
07 Jul, 2009

Тем
61

Постов
207

Баллов
532
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно