2015-10-23 24 views
5

我在「header.php」頁面的代碼中使用了帶短代碼的Wordpress音頻播放器。WordPress的音頻播放器和SmoothState。什麼要回調在新頁面上重新加載播放器?

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

我有什麼函數需要調用「回調」來重新加載播放器在新頁面上?

我入隊js和css在的functions.php這樣的:

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

沒有人知道該怎麼做。難以置信的。 –

回答

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
+0

這不回答我的問題。我正在尋找一個腳本調用在這個js中用於SmoothState的重載播放器。就像ajax載入頁面一樣。 –

+0

你真的在這裏問兩個不同的問題。 wp_enqueue_script不支持回調。我從來沒有使用光滑狀態,但我找到了一篇關於光滑狀態和WP交互作用的5秒鐘谷歌搜索的文章:http://www.parsonsprojects.co.uk/smoothstate-wordpress/ - 查看它,看看哪裏你得到。 – staypuftman