Поддержка Проблемы и решения Не могу подключить пользовательский js

  • Решено ren334

    (@ren334)


    Здравствуйте, создал пользовательский код jquery, разместил в дочерней теме, папке assets/js/myscriptchinsky.js, после созда функцию в файле functions.php дочерней темы:

    add_action('wp_enqueue_scripts', 'my_theme_scripts');
    function my_theme_scripts() {
        wp_enqueue_script('myscriptchinsky', get_stylesheet_directory_uri() . '/assets/js/myscriptchinsky.js');
    }

    При замене на get_template_directory_uri() код срабатывает. Но только для родительской темы, что меня не устраивает.
    Если в путь вставляю папку дочерней темы, то тоже срабатывает, но при загрузке получается следующее:
    <script src="wp-content/themes/jumla-child/jumla-child/assets/js/myscriptchinsky.js" defer=""></script>

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • После изменения кода на такой:

    add_action('wp_enqueue_scripts', 'my_theme_scripts');
    function my_theme_scripts() {
        wp_enqueue_script('myscriptass', get_stylesheet_directory_uri() . '/assets/js/myscriptass.js', array( 'jquery' ), true);
    }

    Все заработало, я в недоумении. Скрипт переименован в честь пригоревшего места.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    при загрузке получается следующее

    Чистый WP не вырезает адрес сайта из атрибута src. Добавлен какой-то код для превращения абсолютных ссылок в относительные?

    После изменения кода на такой

    Т.е. после добавления array( 'jquery' )? Если скрипт зависит от библиотек — то да, для правильной последовательности загрузки стоит указывать их в зависимостях.

    Добавлен какой-то код для превращения абсолютных ссылок в относительные?

    Похоже да, плагин Page Speed Ninja при включении минификации js выдает относительные ссылки. Отчасти в этом заключалась проблема. После деактивации путь к скрипту выглядит как обычно.

Просмотр 3 ответов — с 1 по 3 (всего 3)