Звуковой проигрыватель WordPress, вызывающий ошибку js, mediaelementplayer не является функцией

Я использую встроенный аудиоплеер WordPress с моей собственной оболочкой, мне нужно было установить том по умолчанию на 100, поэтому я помещаю его в footer.php

 <!--Change WordPress Audio Player Default Volume--> <script type="text/javascript"> jQuery(document).ready(function ($) { $("audio").mediaelementplayer({ success: function (mediaElement, domObject) { mediaElement.setVolume(1.0); } }); }); </script> 

Проблема в том, что я получаю сообщение об ошибке Uncaught TypeError: $(...).mediaelementplayer is not a function на любой странице, которая не имеет [аудио] shortcode, потому что wp-mediaelement.min.js и mediaelement-and-player.min.js JS не загружаются на страницы без mediaelement-and-player.min.js , это, в свою очередь, ломает другой javascript на этих страницах.

Какие у меня варианты? Наличие объема по умолчанию в max является обязательным. Является ли мой код неправильным?

Solutions Collecting From Web of "Звуковой проигрыватель WordPress, вызывающий ошибку js, mediaelementplayer не является функцией"

Я могу думать о двух возможных вариантах – хотя я не смог проверить это прямо сейчас.

Опция 1

Теоретически, более чистый, поскольку вы обнаруживаете, что плагин mediaelementplayer загрузил себя в пространство имен jQuery:

 <!--Change WordPress Audio Player Default Volume--> <script type="text/javascript"> jQuery(document).ready(function ($) { if($.fn.mediaelementplayer) { $("audio").mediaelementplayer({ success: function (mediaElement, domObject) { mediaElement.setVolume(1.0); } }); } }); </script> 

Вариант 2

Если Вариант 1 не работает, то это должно; он проверяет текущий объект jQuery, чтобы увидеть, реагирует ли он на вызов mediaelementplayer:

 <!--Change WordPress Audio Player Default Volume--> <script type="text/javascript"> jQuery(document).ready(function ($) { var audio_widgets = $("audio"); if(audio_widgets.mediaelementplayer) { audio_widgets.mediaelementplayer({ success: function (mediaElement, domObject) { mediaElement.setVolume(1.0); } }); } }); </script> 

Хмель это помогает!