函数文档

wp_underscore_audio_template()

💡 云策文档标注

概述

wp_underscore_audio_template() 函数用于在 Underscore 模板中输出音频标签的 HTML 标记,当传递 data.model 时生成动态内容。

关键要点

  • 函数输出音频标签的 HTML 标记,适用于 Underscore 模板环境。
  • 依赖于 wp_get_audio_extensions() 获取支持的音频格式列表。
  • 在 WordPress 3.9.0 版本中引入,主要用于媒体管理器和相关组件。

代码示例

function wp_underscore_audio_template() {
    $audio_types = wp_get_audio_extensions();
    ?>
    <script type="text/template" id="tmpl-audio">
        <# if ( ! _.isUndefined( data.model. ) && data.model. ) { #>
            <audio controls="controls" preload="none">
                <source src="{{ data.model. }}" type="{{ wp.media.view.settings.embedMimes[ '' ] }}" />
            </audio>
        <# } #>
    </script>
    <?php
}

注意事项

  • 函数内部使用 wp_get_audio_extensions() 来动态处理支持的音频格式。
  • 输出内容基于 data.model 的存在性进行条件渲染,确保模板的灵活性。
  • 主要用于 WP_Widget_Media_Audio::render_control_template_scripts() 和 wp_print_media_templates() 等场景。

📄 原文内容

Outputs the markup for an audio tag to be used in an Underscore template when data.model is passed.

Source

function wp_underscore_audio_template() {
$audio_types = wp_get_audio_extensions();
?>
<audio style="visibility: hidden"
controls
class="wp-audio-shortcode"
width="{{ _.isUndefined( data.model.width ) ? 400 : data.model.width }}"
preload="{{ _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }}"
<#
<?php
foreach ( array( 'autoplay', 'loop' ) as $attr ) :
?>

if ( ! _.isUndefined( data.model. ) && data.model. ) {
#> <#
}
#>

>
<# if ( ! _.isEmpty( data.model.src ) ) { #>
<source src="{{ data.model.src }}" type="{{ wp.media.view.settings.embedMimes[ data.model.src.split('.').pop() ] }}" />
<# } #>

<# if ( ! _.isEmpty( data.model. ) ) { #>
<source src="{{ data.model.<?php echo $type; ?> }}" type="{{ wp.media.view.settings.embedMimes[ '<?php echo $type; ?>' ] }}" />
<# } #>

</audio>
</pre><p class="wporg-dot-link-list"><a href="https://developer.wordpress.org/reference/files/wp-includes/media-template.php/">View all references</a> <a href="https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/media-template.php#L16">View on Trac</a> <a href="https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/media-template.php#L16-L48">View on GitHub</a></p></section>

<section class="wp-block-wporg-code-reference-related" data-nosnippet="true"><h2 id="related" class="is-toc-heading wp-block-heading has-heading-5-font-size" tabindex="-1" ><a href="#related">Related</a></h2> <section style="margin-top:var(--wp--preset--spacing--20)" class="wp-block-wporg-code-table" id="uses"><figure class="wp-block-table "><table><thead><tr><th scope="col">Uses</th><th scope="col">Description</th></tr></thead><tbody><tr class=""><td><a href="https://developer.wordpress.org/reference/functions/wp_get_audio_extensions/">wp_get_audio_extensions()</a><code>wp-includes/media.php

Returns a filtered list of supported audio formats.

Used by Description
WP_Widget_Media_Audio::render_control_template_scripts()wp-includes/widgets/class-wp-widget-media-audio.php

Render form template scripts.

wp_print_media_templates()wp-includes/media-template.php

Prints the templates used in the media manager.

Changelog

Version Description
3.9.0 Introduced.