Я пытаюсь загрузить jQuery и другие скрипты в заголовок (или должен быть нижний колонтитул), и у меня есть рабочий процесс jQuery, который я могу получить в окне предупреждения.
Дело в том, что jquery-2.0.3.min.js
не загружается, и я не знаю, правильно ли я делаю очередь. jquery-1.10.2 загружен. А также другой скрипт не загружается. Для обоих сценариев (2.0.3 и другого скрипта) это заканчивается ?ver=3.6.1
Также я читал, что лучше всего загружать одну функцию?
Таким образом, любая помощь будет оценена!
function load_jquery() { wp_register_script( 'jquery_script', get_template_directory_uri() . 'js/jquery-2.0.3.min.js', array( 'jquery' ) ); wp_enqueue_script( 'jquery_script' ); } add_action( 'init', 'load_jquery' ); // end jQuery function another() { wp_register_script( 'another_script', get_template_directory_uri() . 'js/another.js', array( 'jquery' ) ); wp_enqueue_script( 'another_script' ); } add_action( 'init', 'another' );
Первая вещь jquery там по умолчанию в wordpress, поэтому вам не нужно регистрировать ее, просто вставьте ее в очередь
большая часть jquery ui libs и основных jquery-файлов уже зарегистрирована в wordpress, поэтому вам нужно всего лишь ввести в очередь с правой ручкой посмотреть здесь enqueue script
wp_enqueue_script
используется для вставки сценария, а wp_enqueue_style
используется для установки в очередь
для вызова пользовательских js, лучше сначала зарегистрировать скрипт или стиль, прежде чем использовать
wp_register_script
// для регистрации скрипта
wp_register_style
// Чтобы зарегистрировать стиль
затем введите в очередь с помощью wp_enqueue_script
, wp_enqueue_style
Вот пример фрагмента кода для всего процесса с моего сайта
function pr_scripts_styles() { wp_enqueue_script('jquery'); // just enqueue as its already registered if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) wp_enqueue_script( 'comment-reply' ); /* REGISTER ALL JS FOR SITE */ wp_register_script('pr_cycle_all',get_stylesheet_directory_uri().'/js/pr-slider.js'); wp_register_script('pr_slider',get_stylesheet_directory_uri().'/js/jquery.cycle.all.min.js'); wp_register_script('pr_validation_engine',get_stylesheet_directory_uri().'/js/jquery.validationEngine-en.js'); wp_register_script('pr_validation_locale',get_stylesheet_directory_uri().'/js/jquery.validationEngine.js'); wp_register_script('stylethemes',get_stylesheet_directory_uri().'/js/stylethemes.js'); wp_register_script('pr-jquery-ui',get_stylesheet_directory_uri().'/js/jquery-ui.js'); wp_register_script('main-js',get_stylesheet_directory_uri().'/js/main.js'); wp_register_script('pr-galleriffic',get_stylesheet_directory_uri().'/js/jquery.galleriffic.js'); wp_register_script('pr-rollover',get_stylesheet_directory_uri().'/js/jquery.opacityrollover.js'); wp_register_script('pr_colorbox',get_stylesheet_directory_uri().'/js/jquery.colorbox.js'); wp_register_script('pr_jcarousel_js',get_stylesheet_directory_uri().'/js/jquery.jcarousel.min.js'); //wp_register_script('google-map-api','https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false'); /* REGISTER ALL CSS FOR SITE */ wp_register_style('pr_woocommerce',get_stylesheet_directory_uri().'/css/_woocommerce.css'); wp_register_style('pr_mobile',get_stylesheet_directory_uri().'/css/mobile.css'); wp_register_style('pr_sec_teal_grey',get_stylesheet_directory_uri().'/css/secondary-teal-grey.css'); wp_register_style('pr_site_options',get_stylesheet_directory_uri().'/css/site-options.css'); wp_register_style('pr_teal_grey',get_stylesheet_directory_uri().'/css/teal-grey.css'); wp_register_style('validation_css',get_stylesheet_directory_uri().'/css/validationEngine.jquery.css'); wp_register_style('galleriffic_css',get_stylesheet_directory_uri().'/css/galleriffic.css'); wp_register_style('pr_colorbox_style',get_stylesheet_directory_uri().'/css/colorbox.css'); wp_register_style('pr_jcarousel_css',get_stylesheet_directory_uri().'/css/jcarouselskin.css'); /* CALL ALL CSS AND SCRIPTS FOR SITE */ wp_enqueue_script('pr-jquery-ui'); wp_enqueue_script('stylethemes'); wp_enqueue_script('pr_cycle_all'); wp_enqueue_script('pr_slider','','','',true); wp_enqueue_script('pr_validation_engine'); wp_enqueue_script('pr_validation_locale'); wp_enqueue_script('google-map-api'); wp_enqueue_script('main-js'); wp_enqueue_script('pr-galleriffic'); wp_enqueue_script('pr-rollover'); wp_enqueue_script('pr_colorbox'); wp_enqueue_style( 'pr-style', get_stylesheet_uri(), array(), '2013-07-18' ); wp_enqueue_style('pr_site_options'); wp_enqueue_style('pr_woocommerce'); wp_enqueue_style('pr_mobile'); wp_enqueue_style('pr_sec_teal_grey'); wp_enqueue_style('pr_teal_grey'); wp_enqueue_style('validation_css'); wp_enqueue_style('galleriffic_css'); wp_enqueue_style('pr_colorbox_style'); if(is_single()){ wp_enqueue_script('pr_jcarousel_js'); wp_enqueue_style('pr_jcarousel_css'); } } add_action( 'wp_enqueue_scripts', 'pr_scripts_styles' );
также не забудьте подключить свою функцию с помощью wp_enqueue_scripts
чтобы скрипты и стиль правильно загружали add_action( 'wp_enqueue_scripts', 'pr_scripts_styles' );
Это работает для меня при использовании дочерней темы, просто обязательно используйте разные имена для скриптов:
function my_scripts_method() { wp_enqueue_script( 'script-name1', get_stylesheet_directory_uri() . '/some-script.js', array( 'jquery' ) ); wp_enqueue_script( 'script-name2', get_stylesheet_directory_uri() . '/another-script.js', array( 'jquery' ) ); } add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
Вот как я добавляю стили и скрипты отлично работает для меня. Но я предлагаю, прежде чем использовать его, понять его сначала, и тогда любой может следовать этому подходу там по-своему.
function theme_files() { $styles = [ ['handle' => 'style', 'src' => '../style.css', 'deps' => false, 'media'=>"all"], ['handle' => 'bootstrap', 'src' => 'bootstrap.min.css', 'deps' => false, 'media'=>"all"], ['handle' => 'font_awesome', 'src' => 'font-awesome.min.css', 'deps' => false, 'media'=>"all"], ['handle' => 'animate', 'src' => 'animate.min.css', 'deps' => false, 'media'=>"all"], ['handle' => 'lightbox', 'src' => 'lightbox.css', 'deps' => false, 'media'=>"all"], ['handle' => 'main', 'src' => 'main.css', 'deps' => false, 'media'=>"all"], ['handle' => 'responsive', 'src' => 'responsive.css', 'deps' => false, 'media'=>"all"] ]; for ($i = 0; $i < sizeof($styles); $i++) { wp_enqueue_style($styles[$i]['handle'], get_template_directory_uri() . '/css/' . $styles[$i]['src'], $styles[$i]['deps'], $styles[$i]['media'] ); } $scripts = [ ['handle' => 'bootstrap', 'src'=>'bootstrap.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true], ['handle' => 'lightbox', 'src'=>'lightbox.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true], ['handle' => 'wow', 'src'=>'wow.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true], ['handle' => 'main', 'src'=>'main.js', 'dep'=>array( 'jquery' ), 'var'=>false, 'in_foot'=>true] ]; for ($i=0; $i < sizeof($scripts); $i++) { wp_enqueue_script( $scripts[$i]['handle'], get_template_directory_uri() . '/js/' . $scripts[$i]['src'], $scripts[$i]['dep'], $scripts[$i]['ver'], $scripts[$i]['in_foot'] ); } } add_action( 'wp_enqueue_scripts', 'theme_files' );