Intereting Posts
Есть ли какая-либо неотъемлемая разница между add_filter () и add_shortcode () для изменения ? wp-config динамическое имя хоста в WP_HOME и WP_SITEURL Можно ли использовать данные из данных пользовательского поля по короткому коду на основе страницы / публикации? При необходимости массив тегов Настройка URL-адреса входа в WordPress Обмен пользователями по нескольким сайтам, каждый из которых находится в собственной базе данных Навигация по родительской категории Создайте «новые страницы» в разделе администрирования плагина Пагинация не работает с шаблоном пользовательской страницы Переписывать встроенную разметку изображения Как добавить фильтр таксономии по запросу? Получить несколько ролей с помощью get_users Редактировать пропущенный список пользователей в WordPress Network? Автоматическое резервное копирование перед автоматическим обновлением WordPress Тип персонализированного сообщения – как сделать динамическую перезапись slug?

Вызов 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'); }