Wordpress音频播放器和SmoothState。什么叫回调以在新页面上重新加载播放器?

时间:2015-10-23 16:30:18

标签: javascript jquery ajax wordpress smoothstate.js

我在" header.php"中使用带有短代码的WordPress音频播放器。页。

我也使用了SmoothState(http://miguel-perez.github.io/smoothState.js/)。

我需要调用什么功能"回调"在新页面上重新加载播放器?

我在 functions.php 中排队js和css:

wp_enqueue_style( 'wp-mediaelement' );
wp_enqueue_script( 'wp-mediaelement' );

1 个答案:

答案 0 :(得分:0)

wp_enqueue_script();所做的一切都是在检查依赖关系后将脚本放入页面。它不会在不同页面上为您重新加载播放器。但是,只要您正确使用此功能,您的脚本就应该在每个页面上加载。也许你的错误在其他地方?

From the WordPress documentation on wp_enqueue_script();

  

根据时间将脚本文件链接到生成的页面   脚本依赖项,如果脚本尚未存在   包含,如果所有依赖项都已注册。

如果 Wordpress音频播放器将jQuery作为依赖项(可能),则您的functions.php文件应如下所示:

function wpaudioscript() {
    // Parameters are name, path, dependency, version, loadinfooter
    // Better explanation here: http://codex.wordpress.org/Function_Reference/wp_enqueue_script
    wp_enqueue_script(
        'name-of-script',
        get_stylesheet_directory_uri() . '/js/custom_script.js',
        array( 'jquery' ),
        1.0.0,
        true
    );
}

add_action( 'wp_enqueue_scripts', 'wpaudioscript' );

结合其他笔记:

  • 您应该在应用程序的页脚中加载脚本以获得更好的性能。将wp_enqueue_script的第五个参数设置为true,如上例所示,将为您执行此操作。
  • 许多人通常会将这样的自定义功能放入他们的functions.php文件中,但我发现将所有自己的修改放入自定义模块会更加清晰。 Smashing Mag a nice rundown of how to do this