删除主题音频播放器-使用浏览器默认设置

时间:2021-08-12 作者:Daf57

我使用循环远程发布到一个独立的网站。

当我将音频发布到包含

<?php wp_footer(); ?>
我得到的音频播放器不支持右键单击复制音频链接。我假设这是WP播放器,它正在替换浏览器播放器。在排除页脚调用的页面上,我会得到默认的浏览器播放器,它确实支持右键单击选项。

我可以把页脚去掉一点,但要在那个页面上使用插件,我需要它。

示例:

此页面具有页脚调用–如果右键单击播放器,则无法获得保存音频的选项

https://ktbb.com/infocus/index.php

此页面已删除页脚位–您现在有了能够保存音频的正常浏览器行为–社交图标(共享计数插件)也消失了,因为它们需要页脚调用。

https://ktbb.com/infocus/

我找到了我认为的解决办法Wordpress audio player has two different stylesTom的回复建议添加

add_action(\'init\', \'remove_media_element\', 10);
function remove_media_element() {
    wp_deregister_script(\'wp-mediaelement\');
    wp_deregister_style(\'wp-mediaelement\');
}
这确实解决了音频播放器的问题,但它禁用了;添加介质“;按钮。

所以问题是如何禁用WP主题播放器,以便始终使用浏览器默认值?

谢谢你的建议

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

如何禁用WP主题播放器,以便始终使用浏览器默认值?

我得到的音频播放器不支持右键单击复制音频链接。我假设这是WP播放器,它正在取代浏览器播放器。

是的,这确实是默认的WordPress媒体播放器,它使用Media Element library (MediaElement.js),是的,它将浏览器中的本机音频/视频播放器替换为统一的音频/视频播放器,或者在most browsers (MS Edge, Firefox, Safari, Chrome, etc.), 无论设备/分辨率和操作系统如何。

那么,您是否绝对确定要使用在这些浏览器中外观和行为都不同的本机音频播放器?

但是是的,我也希望在音频元素上有默认的上下文菜单(或右键单击菜单)项;然而,作为对您评论的回复:“您的评论<我只是不明白为什么WP播放器会破坏标准的浏览器右键单击功能;,从技术上讲,这是因为当你右键单击音频时,实际上是右键单击媒体元素播放器,而不是实际的音频元素,因此默认的右键单击菜单不会打开,而且不能通过JS以编程方式打开。(您可以编写自定义上下文菜单,但这是另一回事)

add_action(\'init\', \'remove_media_element\', 10);
function remove_media_element() {
    wp_deregister_script(\'wp-mediaelement\');
    wp_deregister_style(\'wp-mediaelement\');
}
这确实解决了音频播放器的问题,但它禁用了;添加介质“;按钮。

是的,在我的例子(WordPress 5.8)中也发生了这种情况,我不知道为什么会这样,但因为我可以看到你正在使用音频快捷码,或者你只是粘贴了音频URL(?),然后你可以尝试我在下面建议的选项。

因此,如果您确实必须或需要使用本机音频播放器

然后,在不使用第三方WordPress插件的情况下,您可以执行以下操作之一:

简单,无需PHP编码:使用WordPress[audio] shortcode 要嵌入音频,请使用自定义CSS类,如my-audio或根本没有CSS类,即添加class="" 到短代码。例如。

[audio src="https://example.com/path/to/audio.mp3" class="my-audio"]
[audio src="https://example.com/path/to/audio.mp3" class=""]
这样就可以输出<audio> 标记,不包含名为wp-audio-shortcode这意味着媒体元素不会应用于该音频,即音频不会使用媒体元素播放器。

也很容易,特别是如果使用块编辑器(Gutenberg),无需PHP编码:使用WordPressaudio block (<!-- wp:audio --><!-- /wp:audio -->) 嵌入音频。

就像[audio] shortcode,音频块也不会在音频元素上应用媒体元素。

第三个选项是通过自定义PHP编码,使用wp_audio_shortcode_library filter.

例如,您可以将此添加到主题中functions.php 文件:

// Disables the media library (which defaults to mediaelement, i.e. MediaElement.js)
// used for the audio shortcode, i.e. [audio] and media URLs that were on their own line.
add_filter( \'wp_audio_shortcode_library\', \'__return_empty_string\' );
实际上,还有wp_audio_shortcode_class filter 如果您只想删除或更改wp-audio-shortcode 来自的类<audio> 无需使用class 属性。

如果您只关心是否有保存/下载音频的选项然后,正如我在评论中所说,您可以(使用自定义HTML)添加一个链接,供用户下载音频。例如

[audio src="https://example.com/path/to/audio.mp3"]
<a href="https://example.com/path/to/audio.mp3">Download Audio</a>
实际上,您可以创建一个自定义的短代码,该代码将输出与上面类似的HTML。(避免繁琐的复制粘贴/键入)

其他注意事项

在排除页脚调用的页面上,我得到了默认的browserplayer–它确实支持右键单击选项。

这可能是因为默认情况下,媒体元素(wp-mediaelement) 脚本和样式在页脚中排队(因为它们只有在页面上使用音频/视频快捷码/嵌入时才会排队),所以因为您删除了页脚,所以这些脚本和样式没有加载到页面上,因此媒体元素库从未初始化,因此使用了本机播放器。

我可以把页脚去掉一点,但要在那个页面上使用插件,我需要它。

您始终可以删除页脚中不必要的内容,例如主题信用(如果主题作者允许删除),但是wp_footer() 如果没有它,页脚中排队的脚本和样式将无法加载,从而导致页面无法正常工作或看起来不符合预期(例如,在您的情况下,社交图标消失了),WordPress core也可能无法正常工作,例如,管理栏即使设置为在页面(和任何其他前端页面)上显示,也不会显示。

相关推荐

Background audio player

有很多音频/音乐播放器是可湿性粉剂插件或与可湿性粉剂一起使用,但我看不出它们完全符合我的要求。我希望能够在网站加载时自动播放音频文件,作为一种背景音乐,只需控制一个“关闭”按钮-无播放/暂停,无曲目信息等(我强烈反对这种在线Muzak,但我的客户坚持。)有什么好办法吗?