Intereting Posts
Когда следует использовать esc_url, esc_html, esc_attr и друзей? wp_get_attachment_image_src всегда возвращает false Странная проблема с permalink: невозможно переименовать / company-2 / to / company / Проблемы с cron Как изменить текст предыдущей / следующей кнопки на голландский? Эхо пользовательская таксономия Разрешить редакторам размещать iframes Как предотвратить добавление предметов в корзину для конкретного состояния в wordpress Ошибка 101 после обновления WordPress Cant исправить это предупреждение: неверный аргумент, предоставленный foreach () в Восстановление из неудачного многоузлового преобразования Изображение все еще прикреплено к сообщению, даже после удаления его как изображение Нужно ли нам проверять, санировать или фильтровать простые числовые суперглобалы (cookie и post)? Как отображать пользовательские изображения таксономии на index.php? Получить несколько значений атрибута короткого кода

Вызов JQuery в плагине

Я использую следующий код в своем плагине:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <?php echo "<script src=".$plugins_url."/mistral/js/jquery.pajinate.js> </script>"; ?> <script> $(document).ready(function(){ $('#paging_container1').pajinate(); }); </script> 

Теперь он ломает мои другие плагины jquery из-за повторного создания JQuery из CDN. Любое решение использовать jquery по умолчанию с WordPress было бы здорово.

Solutions Collecting From Web of "Вызов JQuery в плагине"

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

 add_action( 'wp_enqueue_scripts', 'my_jquery' ); function my_jquery(){ wp_enqueue_script("jquery"); } 

И используйте jquery no conflict wrapper, чтобы избежать ошибки или кода jquery

 (function($) { // Inside of this function, $() will work as an alias for jQuery() // and other libraries also using $ will not be accessible under this shortcut })(jQuery); 

Получить более подробную информацию о скрипте wp enqueue

Используйте правильную привязку и перестаньте использовать $ shortcut, и у вас не должно быть проблем.

 add_action('wp_enqueue_scripts', 'example'); function example() { wp_enqueue_script( 'pajinate', plugins_url("js/jquery.pajinate.js", __FILE__), array('jquery') ); } add_action('wp_head','example_two'); function example_two() { ?> <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('#paging_container1').pajinate(); }); </script> <?php } 

WordPress имеет отличные инструменты для обработки зависимостей сценариев, и вы должны использовать его. Вы можете начать с:

  • wp_enqueue_scripts
  • wp_register_script
  • wp_enqueue_script

В общем, не рекомендуется загружать внешний jQuery, но если вы действительно этого хотите, вы должны отменить регистрацию jQuery-копии из ядра WP, а затем зарегистрировать свою собственную копию или из CDN:

 add_action('wp_enqueue_scripts', 'wpse_scripts'); function wpse_scripts() { //Uncomment the next two lines if you want to load jquery from Google CDN //wp_deregister_script('jquery'); //wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js', false ); //Pajinate depends on jquery wp_register_script( 'pajinate', $plugins_url."/mistral/js/jquery.pajinate.js", array('jquery') ); //In the next file include your functions and code that depends on jquery and pajinate wp_register_script( 'my-script', $plugins_url."/mistral/js/your-script.js", array('jquery', 'pajinate') ); //Now you are ready to load enqeue the registered scripts wp_enqueue_script('jquery'); wp_enqueue_script('pajinate'); wp_enqueue_script('my-script'); }