我正在将HTML和CSS模板转换为wordpress主题,当我打开HTML和CSS文件时,音频播放器正常工作,但当我转换为wordpress主题时,它不工作,我尝试使用mediaelement和播放器。像这样的min.js
function music_theme_js() {
wp_enqueue_script( \'mep_js\' , get_template_directory_uri() . \'/js/mediaelement-and-player.min.js\' , array( \'jquery\' ) , \'\', true);
仍然没有显示任何内容。请帮忙!
It shows up normal when opened through a normal HTML and CSS file
But breaks when I convert to a wordpress theme 以下是wp\\u enqueue\\u脚本
<?php
function flexing_theme_styles() {
/* theme\'s primary style.css file */
wp_enqueue_style( \'main-css\' , get_stylesheet_uri() );
wp_enqueue_style( \'bootstrap_css\' , get_template_directory_uri() . \'/css/bootstrap.css\' );
wp_enqueue_style( \'font-awesome_css\' , get_template_directory_uri() . \'/font-awesome/css/font-awesome.min.css\' );
wp_enqueue_style( \'main_css\' , get_template_directory_uri() . \'/css/main.css\' );
}
add_action( \'wp_enqueue_scripts\' , \'flexing_theme_styles\' );
function flexing_theme_js() {
wp_enqueue_script( \'bootstrap_js\' , get_template_directory_uri() . \'/js/bootstrap.js\' , array( \'jquery\' ) , \'\', true);
wp_enqueue_script( \'jssor.slider_js\' , get_template_directory_uri() . \'/js/jssor.slider-21.1.6.mini.js\' , array( \'jquery\' ) , \'\', true);
wp_enqueue_script( \'mediaelement_js\' , get_template_directory_uri() . \'/js/mediaelement-and-player.min.js\' , array( \'jquery\' ) , \'\', true);
wp_enqueue_script( \'main_js\' , get_template_directory_uri() . \'/js/main.js\' , array( \'jquery\' ) , \'\', true);
}
add_action( \'wp_enqueue_scripts\' , \'flexing_theme_js\' );
?>
最合适的回答,由SO网友:CodeMascot 整理而成
您需要初始化MediaElement.js
通过这样做-
用于视频或音频标签-
<script>
// using jQuery
$(\'video,audio\').mediaelementplayer(/* Options */);
</script>
和用于自定义
div
-
<script>
// JavaScript object for later use
var player = new MediaElementPlayer(\'#player\',/* Options */);
// ... more code ...
player.pause();
player.setSrc(\'mynewfile.mp4\');
player.play();
</script>
看看吧
MediaElement.js
韦斯特。
最好写下main_js
如下图所示排队-
wp_enqueue_script( \'main_js\' , get_template_directory_uri() . \'/js/main.js\' , array( \'mediaelement_js\', \'jquery\' ) , \'\', true);
因为据我所知,您已将自定义JavaScript代码放在该文件中。所以最好把它排在后面
MediaElement.js
.
在你的HTML文件中,它是有效的,因为我认为他们在HTML文件中调用了它<script></script>
标签在你的主题中,它不起作用,因为MediaElement.js
发生在MediaElement.js
已加载。因此,最好将此代码移动到自定义脚本文件(如main.js
) 之后再打电话MediaElement.js
.
希望这有帮助。