如何在本地将mediaelement.js文件查询为WordPress主题

时间:2016-12-19 作者:Jay

我正在将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\' );

?>

1 个回复
最合适的回答,由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.

希望这有帮助。

相关推荐