Media Playlist Plugin

时间:2014-12-02 作者:Clark

好吧,最近我买了一个名为“Liner”的音频播放器,现在我正在使用它将其转换为WordPress插件,但我遇到的最大问题是需要手动添加曲目。。

这里是我的JS的一个片段。

<script>
    jQuery(function($) {
        $(\'body\').linerPlayer({
            firstPlaying: 0,
            autoplay: true,
            shuffle: false,
            //veryThin: true,
            slideAlbumsName: true,
            nowplaying2title: true,
            roundedCorners: true,
            //accentColor:"#cc181e",    //008DDE            
            pluginPath: "/canyon/liner/", // <<< IMPORTANT! - Change this to your path to the plugin folder
            playlist: [ //♩ ♪ ☊ ♫ ♬ //
                {mp3:"song/songname.mp3", title:"song title", artist:"song artist", album:"name", cover:"song/cover.png"},
            ]
        });

    });
</script>
我想知道是否有任何方式,我可以写这个JS来填写歌曲MP3,然后把标题作为例子

<?php the_title(); ?>
而艺术家作为

<?php the_tags(); ?>
但是我不需要手动向播放器添加任何内容吗?我如何开始这样做。。只是一些想法会对我有很大帮助,因为我现在真的被困了。

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

下面是一个快速示例,演示如何将php数据传递给脚本。

首先,我们将函数挂接到wp_enqueue_scripts 行动在内部,我们将包含播放器和初始化代码的脚本排队(这可能是两个单独的文件,但在本例中我将其压缩为一个文件)。接下来,我们打电话wp_localize_script 并在脚本中设置一些我们想要的可用数据。

function wpd_test_localize_script() {
    if( is_single() ){
        global $post;
        wp_enqueue_script(
            \'test_script\',
            get_template_directory_uri() . \'/script.js\', // or plugins_url() if this is plugin, not theme
            array( \'jquery\' ),
            null,
            true
        );
        wp_localize_script(
            \'test_script\',
            \'test_script_data\',
            array(
                \'title\' => $post->post_title,
                \'file\' => \'hello.mp3\'
            )
        );
    }
}
add_action( \'wp_enqueue_scripts\', \'wpd_test_localize_script\' );
接下来,我们看看script.js 我们在上面排队的文件,我们可以在这里看到如何访问通过wp_localize_script:

(function($){
    $(window).load(function(){
        alert( test_script_data.title );
    });
})(jQuery);
test_script_data 是我们创建的对象wp_localize_script. 如果加载单个帖子页面,上述代码将弹出一个带有当前帖子标题的警告对话框。

如果我们查看页面源代码,可以看到创建的脚本标记WordPress,其中包含我们的数据:

<script type=\'text/javascript\'>
/* <![CDATA[ */
var test_script_data = {"title":"Some post title","file":"hello.mp3"};
/* ]]> */
</script>
我们可以像上面那样传递一个数据数组,也可以嵌套任意数量的数组来创建多维数据(如多个曲目,每个曲目都有标题、文件等)。

结束

相关推荐

Php根据帖子类型显示不同的结果

我正在努力搜索。php模板。我想根据他们的帖子类型显示不同的结果。我有页面、帖子和机器(自定义帖子类型)下面是当前结果页面的一个示例:http://dev.digitalgroupmedia.com/fortron/?s=fortron&search-submit=Submit+Query第一个结果是一个帖子,其他的都是机器页面和帖子可以用一个简单的超链接标题来显示,但我希望机器具有当前的格式。我的php并不令人惊奇,通常是通过随机尝试和错误拼凑起来的。我知道需要某种类型的if/else语句模板来