如何禁用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也可能无法正常工作,例如,管理栏即使设置为在页面(和任何其他前端页面)上显示,也不会显示。