wp_audio_shortcode()
Создает HTML код аудио плеера по указанной ссылке на аудио файл и параметрам вывода плеера.
Эта функцию лежит в основе аудио шорткодов WordPress и отвечает за вывод HTML кода плеера. Такой плеер позволяет прослушивать указанный аудио файл в браузере.
Функция создает HTML тег <audio> с необходимыми атрибутами. В код также добавляется резервный HTML для случаев, когда браузер не поддерживает <audio> тег.
По умолчанию, WordPress поддерживает следующие аудио форматы: mp3
, ogg
, wma
, m4a
, wav
.
Типы файлов по умолчанию получает функция wp_get_audio_extensions()
Список поддерживаемых шорткодов в WordPress: [audio]
, [caption]
, [embed]
, [gallery]
, [playlist]
, [video]
Хуки из функции
Возвращает
Строку|null
. HTML тег <audio> и дополнительный HTML код для резерва.
Использование
wp_audio_shortcode( $attr, $content );
- $attr(массив) (обязательный)
Параметры обработки шорткода (вывода аудио). Могут быть:
-
src(строка)
URL на аудио файл. Поддерживаемые форматы:mp3
,ogg
,wma
,m4a
,wav
.
По умолчанию: '' (первый аудио файл прикрепленный к записи) -
loop(true/false)
Зацикливание аудио. Атрибут 'loop' для тега <audio>. Может быть:on
илиoff
.
По умолчанию: '' -
autoplay(true/false)
Авто-воспроизведение аудио. Атрибут 'autoplay' для тега <audio>. Может быть:on
илиoff
.
По умолчанию: '' -
preload(строка)
Определяет как аудио должно загружаться при загрузке страницы. Атрибут 'preload' для тега <audio>. Может быть:none
- не загружать аудио при загрузке страницы.auto
- загружать аудио при загрузке страницы.metadata
- загружать только метаданные файла.
По умолчанию: 'none'
-
class(строка)
Атрибут 'class' для тега <audio>.
По умолчанию: 'wp-audio-shortcode' - style(строка)
Атрибут 'style' для тега <audio>.
По умолчанию: 'width: 100%; visibility: hidden;'
Выглядит массив так:
$attr = array( 'src' => '', 'loop' => false, 'autoplay' => false, 'preload' => 'none', 'class' => 'wp-audio-shortcode', 'style' => 'width: 100%; visibility: hidden;' );
-
- $content(строка)
- Контент шорткода. Передается в фильтр
wp_audio_shortcode_override
в самом плеере не используется.
По умолчанию: ''
Об аудио шорткодах в WordPress
C версии 3.6 в WordPress можно использовать аудио шорткод. Выглядит он так: [audio]
. Можно указать параметры шорткода, так:
[audio src="http://example.com/my.mp3"]
Или так - включим зацикливание:
[audio src="http://example.com/my.mp3" loop="on"]
Или так, для резерва, когда браузер может не понимать указанный формат файла, укажем 3 разных формата:
[audio mp3="http://example.com/my.mp3" ogg="http://example.com/my.ogg" wav="http://example.com/my.wav"]
Или «встраивания» (embeds)
А можно записать еще проще, через так называемое «встраивание» (embeds) аудио файл можно вставить просто написав ссылку на него на отдельной строке. WP автоматически найдет и обработает такую ссылку, при этом не нужны никакие шорткоды. Т.е. можно написать так:
Текст до http ://example.com/my.mp3 Текст после
Все эти варианты добавления аудио в запись, обрабатываются в итоге функцией wp_audio_shortcode().
Примеры
#1 Выведем плеер аудио файла в любом месте шаблона
$args = array( 'src' => 'http://example.com/my.mp3', 'loop' => false, 'autoplay' => false, 'preload' => 'none' ); echo wp_audio_shortcode( $args );
Выведет HTML код
<!--[if lt IE 9]><script>document.createElement('audio');</script><![endif]--> <audio class="wp-audio-shortcode" id="audio-7-1" preload="none" style="width: 100%; visibility: hidden;" controls="controls"> <source type="audio/mpeg" src="http://example.com/my.mp3?_=1" /> <a href="http://example.com/my.mp3">http://example.com/my.mp3</a> </audio>
В браузере получим такой плеер, где можно включить и послушать указанный файл:
#2 Хук wp_audio_shortcode_override
Работу функции можно полностью переопределить через хук wp_audio_shortcode_override
. Точно также как это делается с шорткодом галереи в примере функции gallery_shortcode()
add_filter('wp_audio_shortcode_override', 'my_audio_shortcode', 10, 4); function my_audio_shortcode( $empty_str, $attr, $content, $instance ){ // Проверяем что нам нужно, если подходит, то переопределяем всю функцию wp_audio_shortcode if( $attr['autoplay'] ){ // тут пишем свой код вывода плеера, для музыки с авто-воспроизведением } else return ''; }
Список изменений
С версии 3.6.0 | Введена. |