Wordpress 音频播放器和 SmoothState。调用回调以在新页面上重新加载播放器?
Posted
技术标签:
【中文标题】Wordpress 音频播放器和 SmoothState。调用回调以在新页面上重新加载播放器?【英文标题】:Wordpress Audio Player and SmoothState. What to call on callback to reload player on new pages? 【发布时间】:2016-01-23 06:45:05 【问题描述】:我在“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】: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。
【讨论】:
这不能回答我的问题。我正在该 js 中寻找一个脚本调用,用于使用 Smoothstate 重新加载播放器。就像一个 ajax 加载页面。 你真的在这里问了两个不同的问题。 wp_enqueue_script 不支持回调。我从未使用过 smoothstate,但我找到了一篇文章,供您使用 5 秒的 google 搜索,了解 smoothstate 和 WP 的交互方式:parsonsprojects.co.uk/smoothstate-wordpress - 看看,看看你在哪里。以上是关于Wordpress 音频播放器和 SmoothState。调用回调以在新页面上重新加载播放器?的主要内容,如果未能解决你的问题,请参考以下文章
使用 snd_pcm_writei() 播放音频时如何正确处理 ALSA 编程中的 xrun?