Intereting Posts
Как найти шаблон страницы? Как настроить ссылки для разбивки на страницы? Страница перенаправления пользовательской таксономии на страницу 404 Customizer: когда использовать customize_preview_init VS customize_controls_enqueue_scripts Как сделать отдельную RSS-ленту для каждого настраиваемого типа сообщения Как я могу создать элемент IFRAME, который постоянно меняет имя класса? Текущий идентификатор сообщения – относительный URL Интервал в выдержке Как добавить параметр в wp_enqueue_script? Невозможно остановить хакера, пытаясь получить доступ администратора в блоге WordPress после многократного использования Мой WordPress дает мне ошибку 403 при сохранении сообщения / проекта с конкретными словами Сохранить черновик не сэкономить Как сортировать пользовательские столбцы в admin Я хотел бы помочь получить мою разбивку на страницы для работы Где создается экземпляр WP_Query (при работе с темами)?

Как исправить мою старую тему, чтобы она правильно загружала jQuery

У меня есть более старая тема, которая загружает jQuery «вручную», и это конфликтует со всеми плагинами, которые пытаются использовать jQuery. Следующие строки включены в заголовок темы:

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.inputs.js"></script> <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.scrollpane.js"></script> <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.mousewheel.js"></script> <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.easing.1.3.js"></script> <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.lightbox-0.5.js"></script> <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/swfobject.js"></script> <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/functions.js"></script> 

Я понимаю, что я должен называть собственный WordPress-крючок для загрузки этих файлов, но я не знаю конкретных шагов для этого. Вы можете помочь? Извините за мою беззаботность.

Solutions Collecting From Web of "Как исправить мою старую тему, чтобы она правильно загружала jQuery"

Принимая во внимание общий ответ, так как у нас нет (пока?) Доступа к конкретной теме.

Примечание. Все эти изменения могут, а возможно, и должны быть реализованы с помощью Child Theme.

Во-первых, вам нужно удалить ВСЕ эти строки из header.php . Скрипты должны быть помещены в очередь , а не жестко закодированы в шаблоне.

Затем вам нужно добавить следующие functions.php :

 <?php function wpse35169_enqueue_scripts() { // Enqueue WP-core bundled scripts wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'swfobject' ); // Enqueue custom scripts wp_enqueue_script( 'jquery-inputs', get_template_directory_uri() . '/js/jquery.inputs.js', array( 'jquery' ) ); wp_enqueue_script( 'jquery-scrollpane', get_template_directory_uri() . '/js/jquery.scrollpane.js', array( 'jquery' ) ); wp_enqueue_script( 'jquery-mousewheel', get_template_directory_uri() . '/js/jquery.mousewheel.js', array( 'jquery' ) ); wp_enqueue_script( 'jquery-easing', get_template_directory_uri() . '/js/jquery.easing.1.3.js', array( 'jquery' ) ); wp_enqueue_script( 'jquery-lightbox', get_template_directory_uri() . '/js/jquery.lightbox-0.5.js' ); wp_enqueue_script( 'wpse35169-functions', get_template_directory_uri() . '/js/functions.js' ); } // Hook into 'wp_enqueue_scripts' add_action( 'wp_enqueue_scripts', 'wpse35169_enqueue_scripts' ); ?> 

Если вам нужен конкретный порядок зависимости / загрузки для лайтбоксов или functions.js, просто добавьте соответствующий массив $deps к wp_enqueue_script() .

Это должно решить вашу проблему, но опять же, не зная, какую тему вы используете, я не могу быть на 100% уверен.

Добавьте следующий код в свой файл functions.php для каждого скрипта:

 wp_enqueue_script('handle', get_bloginfo('stylesheet_directory').'/path/to/script.js', array('dependencies')); 

например:

 wp_enqueue_script('jquery', get_bloginfo('stylesheet_directory').'/js/jquery-1.7.1.min.js'); 

Зависимости предназначены только для скриптов, которые зависят от других скриптов (сценариев), поэтому вы должны заполнить «jquery» для всех скриптов, которые нуждаются в jQuery.

Ссылка: http://codex.wordpress.org/Function_Reference/wp_enqueue_script

Я бы использовал копию jQuery Google вместо связанных версий WordPress. Основным преимуществом является то, что большинство сайтов используют код Google, поэтому вашим пользователям не придется загружать другую копию jquery, поскольку они могут просто использовать кешированный скрипт.

  // Load jQuery if ( !is_admin() ) { wp_deregister_script('jquery'); wp_register_script('jquery', ("https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"), false); wp_enqueue_script('jquery'); } 

Оттуда я ввел в очередь ваши пользовательские скрипты, как это предложил Чип.

Забавный новый способ регистрации и постановки в очередь ваших сценариев. Также упрощает добавление и удаление новых скриптов, когда это необходимо.

 /** * Registers javascript using wp_register_script * * '$handle' => array( * 'remote' => boolean (true|false), //optional default false * 'src' => 'file_name.js', //string required * 'deps' => 'dependencies', //string optional * 'footer' => boolean (true|false) //optional default false */ function scripts() { $deregister = array( 'jquery' => array() ); $scripts = array( 'jquery' => array( 'remote' => true, 'src' => 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js', 'deps' => null, ), 'jquery.cycle' => array( 'remote' => false, 'src' => 'jquery-cycle/jquery.cycle.min.js', 'deps' => 'jquery' ), 'jquery.jcarousel' => array( 'remote' => false, 'src' => 'jquery.jcarousel.min.js', 'deps' => 'jquery' ), 'functions' => array( 'src' => 'functions.js', 'deps' => 'jquery', 'footer' => true, ) ); foreach ( $deregister as $key => $handle ) : if ( ! is_admin() ) : wp_deregister_script( $key ); endif; endforeach; foreach ( $scripts as $key => $value ) : if ( is_admin() ) return; if ( is_array( $value ) && array_key_exists( 'src', $value ) ) : $src = !empty( $value[ 'remote' ] ) ? $value[ 'src' ] : THEME_JS_URI . $value[ 'src' ]; if ( ! $value['deps'] == null ) : wp_register_script( $key, $src, $value[ 'deps' ], false, !empty( $value[ 'footer' ] ) ); else : wp_register_script( $key, $src, false, !empty( $value[ 'footer' ] ) ); endif; else : wp_register_script( $key, THEME_JS_URI . $src, $value, false ); endif; wp_enqueue_script( $key ); endforeach; }