thisisready
  • 0
Новичок

Включение jQuery в WordPress

  • 0

Я использую приведенный ниже код, чтобы включить jQuery в свою установку WordPress. Раньше я вызывал файл jQuery, используя стандартный HTML-скрипт, но это вызывало проблемы с плагином WordPress в IE9. Когда я использую функцию wp_enqueue_script, она решает проблему, но затем ломает мой собственный файл Javascript, который я включаю после wp_head(). Что я делаю неправильно?

<?php wp_enqueue_script("/wp-content/themes/mytheme/js/jquery-1.5.1.min.js"); ?>
<?php wp_head(); ?>
<script type="text/javascript" src="/wp-content/themes/mytheme/js/custom.js"></script>
Share
  1. 1) Включать скрипты только через wp_head(). Для вашего пользовательского скрипта зарегистрируйте и поставьте его в очередь как таковой:

    function mytheme_custom_scripts() {
    
        if ( ! is_admin() ) {
            $scriptsrc = get_stylesheet_directory_uri() . '/js/';
            wp_register_script( 'mytheme_custom', $scriptsrc . 'custom.js' );   
            wp_enqueue_script( 'mytheme_custom' );
        }
    
    }
    add_action( 'after_setup_theme', 'mytheme_custom_scripts' );
    

    2) Вам необходимо отменить регистрацию ядра jQuery, а затем зарегистрировать и поставить в очередь свою уменьшенную версию, например:

    function mytheme_minified_jquery() {
    
        if ( ! is_admin() ) {
            wp_deregister_script( 'jquery' );
            wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js' );  
            wp_enqueue_script( 'jquery' );
        }
    
    }
    add_action( 'init', 'mytheme_minified_jquery', 1000 );
    

    Обратите внимание, что оба включают if ( ! is_admin() ) условное выражение. Вы не хотите связываться со сценариями, которые загружаются в пользовательском интерфейсе администратора.

    Кроме того, в моем примере используется Google для уменьшенной версии jQuery. Если вы хотите использовать собственную версию в комплекте, wp_register_script() вместо этого добавьте SRC.

    • 0
  2. Несколько вопросов здесь:

    • включение внешней версии jQuery без отмены регистрации версии в комплекте с WP;
    • неправильное wp_enqueue_script() использование (неправильные аргументы);
    • повторять сценарий самостоятельно;
    • используя файл шаблона для всего этого.

    Базовый пример того, как сделать это более правильно, будет примерно таким в functions.php теме:

    add_action( 'wp_enqueue_scripts', 'custom_script' );
    
    function custom_script() {
    
        wp_enqueue_script('custom','/wp-content/themes/mytheme/js/custom.js',array('jquery'));
    }
    
    • 0

Оставить ответ

You must login to add an answer.