Я внедряю свой код Jplayer на свой сайт, но в Wordpress уже есть jquery, но когда я копирую свой код через плеер, он сломан, так как он не показывает значок тома с x над ним , Когда я включаю внешний скрипт jquery, он разбивает сайт entrie, но плеер работает. Есть ли лучший способ включить jPlayer в мой сайт WordPress?Jplayer и wordpress 3.6.x
ответ
Скрипт jPlayer enqueueing должен соответствовать правилами WordPress. Самый простой (и, возможно, единственный) способ - с Shortcode. Многие разработчики, в основном разработчики темы, игнорируют это we don't dequeue the bundled jQuery version и загружают любую версию с некоторого CDN (по крайней мере, мы не делаем этого, не зная точно, что мы делаем).
Вот грубый тест, функция обратного вызова короткого кода должна много полироваться.
public function plugin_setup() // hooked into plugins_loaded
{
add_action('wp_enqueue_scripts', array($this, 'enqueue'));
add_shortcode('jplayer', array($this, 'shortcode'));
}
public function enqueue()
{
wp_register_script(
'sj-jplayer',
$this->plugin_url . 'js/jquery.jplayer.min.js',
array('jquery'), // <------- Dependencies
false,
true
);
wp_register_style('sj-skin', $this->plugin_url . 'skin/blue.monday/jplayer.blue.monday.css');
wp_enqueue_script('sj-jplayer');
wp_enqueue_style('sj-skin');
}
public function shortcode($atts, $content)
{
ob_start();
require_once('html-shortcode.php');
$var = ob_get_clean();
return $var;
}
Файл html-shortcode
в основном this demo код адаптирован как:
<?php
/*
* Prints the shortcode
*/
?>
<script type="text/javascript">
jQuery(document).ready(function($) // <------ WP noConflict
{
$("#jquery_jplayer_1").jPlayer({});
});
</script>
<div id="jquery_jplayer_1" class="jp-jplayer"></div>
Я испытал это jPlayer шорткод внутри другого, что делает jScrollPane, и он работал на IPad.
Что я на самом деле делал, был помещен плеер в iframe. Это не чисто, но это сработало –
- 1. Intergrate Jplayer с Wordpress
- 2. Встраивание ссылок в WordPress 3.6
- 3. Ошибка php в Wordpress 3.6
- 4. cocos2d-x 3.6 PhysicsJointFixed error
- 5. Wordpress 3.6: Страница под категорией
- 6. ли Jquery автоматически помещён в Wordpress 3.6
- 7. Wordpress 3.6: Mediaelement (аудио) скрыть элементы
- 8. Wordpress 3.6: Вложенные Jquery Dialog Overlay
- 9. Опция перенаправления для Mediaelement.js в WordPress 3.6
- 10. Чтение XML-данных в Netty 3.6.x
- 11. Внедрение scrollview с cocos2d-x 3.6
- 12. Конфигурация jPlayer и Shoutcast
- 13. jplayer и несколько интерфейсов
- 14. Невозможно загрузить css в wordpress 3.6
- 15. Какой механизм хранения использует Wordpress 3.6?
- 16. Ошибки после обновления до wordpress 3.6
- 17. jplayer - недостаточно аргументов
- 18. jplayer callback? (бесконечная прокрутка)
- 19. jPlayer продолжительность и ошибка прогресса
- 20. JScrollPane и jPlayer с плейлистом
- 21. webpack jplayer: невозможно установить свойство jplayer undefined
- 22. jPlayer паузы
- 23. динамический jPlayer
- 24. Установка PyQt5 и Python 3.6?
- 25. установка python 3.6 и lib64
- 26. Проблема с использованием аудиопроигрывателя JPlayer
- 27. JPlayer + MVC3 + IE9
- 28. Пользовательские загрузки dir "на лету" в Wordpress 3.6?
- 29. Как увеличить размер файла в Wordpress версии 3.6
- 30. WordPress 3.x и супер admin
Я не могу, к сожалению, код по-прежнему скрыт владельцами сайтов. Но его базовый код и плеер работают один раз не в Wordpress и в том числе внешний файл jquery. –
Посмотрите в консоль ошибок JavaScript, что именно ломается, когда вы используете существующий jQuery. –