vulgarbulgar
  • 0
Новичок

Попытка поставить скрипт в очередь в wordpress

  • 0

Я прочитал раздел кодекса на wp-enqueue, но все еще борюсь.

По сути, я хотел бы, чтобы следующее отображалось правильно в области виджетов моей темы (на каждой странице):

<link rel="stylesheet" type="text/css" href="/wp-content/uploads/social_counter/css/styles.css" />
<link rel="stylesheet" type="text/css" href="/wp-content/uploads/social_counter/css/tipTip.css" />

<div id="social_counter">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js"></script>
<script type="text/javascript" src="/wp-content/uploads/social_counter/js/social_counter.js"></script>
</div>

Я создал текстовый виджет, в который вставил код, но он кое-что нарушает в шаблоне, так как, вероятно, существует конфликт, поскольку jquery уже загружен темой и/или другими плагинами.

Может ли кто-нибудь показать мне, как лучше всего сформировать это с помощью wp_enqueue и куда вставить последующий код (functions.php темы?)?

Спасибо.

Я пробовал следующее:

if(!is_admin()){
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js',false);
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/social_counter.js',array('jquery'),'1.4.2',false);
}

Кажется, загружаются два скрипта, когда я просматриваю исходный код страницы, но не jquery google, и содержимое не отображается…

теперь у меня есть следующее, все еще ничего (появляются два скрипта, но не google jquery):

wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
wp_enqueue_script( 'jquery' );
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js',false);
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/social_counter.js',array('jquery'),'1.4.2',false);

Последнее редактирование.. (я действительно хочу, чтобы переполнение стека приняло более удобную систему потоковой передачи: /)

function add_scripts(){
// Load jQuery
if ( !is_admin() ) {
   wp_deregister_script('jquery');
   wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"), false);
   wp_enqueue_script('jquery');
}
// Your Scripts
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js',false);
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/social_counter.js',array('jquery'),'1.4.2',false);
}
add_action('init','add_scripts');
Share
  1. На самом деле вам больше не нужно беспокоиться о конфликте со страницами администратора. Существует хук «wp_enqueue_scripts», который гарантирует, что скрипты не вызываются на страницах администратора.

    Из Кодекса WP:

    <?php
    function my_scripts_method() {
      wp_deregister_script( 'jquery' );
      wp_register_script( 'jquery',    'http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js');
      wp_enqueue_script( 'jquery' );
    }    
    
    add_action('wp_enqueue_scripts', 'my_scripts_method');
    ?>
    

    Но если вам нужно специальное ядро ​​jQuery (или надстройка) для страниц администрирования, вам нужно будет использовать хук «init» с условием !admin.

    • 0
  2. Взгляните на эту ссылку:

    5 советов по использованию jquery с wordpress

    Вы можете добавить скрипты, вызвав функцию в functions.php.

    Вот пример того, как это сделать:

    функция add_scripts(){
            wp_register_script('scriptName', 'Путь к скрипту'); //Регистрация скрипта
            wp_enqueue_script('jquery');
            wp_enqueue_script('имя_сценария'); //добавляем скрипт
    
        }
        add_action('init','add_scripts'); // вызов функции в init
    

    Также будет полезна эта ссылка.

    РЕДАКТИРОВАТЬ:

    Попробуй это

    функция add_scripts(){
    // Загружаем jQuery
    если ( !is_admin() ) {
       wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"), false);
       wp_enqueue_script('jquery');
    }
    // Ваши скрипты
    wp_register_script('script1', get_bloginfo('url').'/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js');
    wp_register_script('script2',get_bloginfo('url').'/wp-content/uploads/social_counter/js/social_counter.js',array('jquery'),'1.4.2',false);
    wp_enqueue_script('script1');
    wp_enqueue_script('script2');
    }
    add_action('init','add_scripts');
    
    • 0
  3. Лучшее место в файле functions.php.

    Пример:

    wp_enqueue_script("name", ("path/to/file"), false);
    

    Массив false поставит скрипт в очередь в верхний колонтитул, где вы определите. wp_header(); Если вы установите для него значение true, он поставит скрипт в нижний колонтитул, где вы определитеwp_footer();

    Изменить :

    wp_enqueue_script('yourscriptname', get_bloginfo('stylesheet_directory') . '/js/jsyourscript.js');
    

    В вашем исправленном сообщении у вас есть этот код

    if(!is_admin()){
    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
    wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js',false);
    wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/social_counter.js',array('jquery'),'1.4.2',false);
    }
    

    Обратите внимание, что вы поместили 2 скрипта, которые хотите поставить в очередь, внутри условного оператора, что если не администратор — сделайте это

    Это может быть причиной того, что это не работает для вас.

    Редактировать 2

    // Load jQuery
    if ( !is_admin() ) {
       wp_deregister_script('jquery');
       wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"), false);
       wp_enqueue_script('jquery');
    }
    // Your Scripts
    wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js',false);
    wp_enqueue_script('custom_script2',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/social_counter.js',array('jquery'),'1.4.2',false);
    

    Немного подчистил, вернул jquery в условный оператор и поставил на него false.

    Также каждый новый сценарий, который вы ставите в очередь, должен иметь уникальное имя. Оба ваших называются custom_script

    • 0

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

You must login to add an answer.