[英]wordpress calling javascript function in plugin
我正在努力從wordpress插件中進行javascript調用。 我有一個具有不同功能的外部javascript文件,希望可以在需要時單獨調用它們。
在我的主插件文件中,我注冊並加入了javascript文件。
wp_register_script( 'pluginMain', plugins_url( '/js/pluginMain.js', __FILE__ ) ); wp_enqueue_script( 'pluginMain' );
我要在pluginMain.js文件中放置幾個不同的函數,並在需要時在網站的不同頁面上調用它們。 這個重定向功能就是一個例子。
function redirectToHome() {
alert( 'Something went wrong. You are being redirected home.' );
window.location.replace("https://somemainpage.com");
}
我能弄清楚如何進行任何事情的唯一方法是將以下代碼添加到javascript文件中。 但是在文件排隊后,它可以隨時運行,因此無處不在。
jQuery (document).ready (function () {
redirectToHome();
});
我嘗試將jQuery(文檔)代碼添加到頁面的html中,並從javascript文件中刪除jQuery(文檔)代碼,但此后沒有任何反應。
echo '<p>Something has gone wrong. You are being returned to the main page</p>';
echo '<script type="text/javascript">
<!--
jQuery (document).ready (function () {
redirectToHome();
});
//-->
</script>';
我顯然是新來的,對於從這里去哪里很困惑。 我可以得到一些指導嗎? 謝謝。
如果只需要在某些情況下運行腳本,則可以執行以下操作:
wp_register_script( 'pluginMain', plugins_url(
'/js/pluginMain.js', __FILE__ ) );
這將注冊,但在入隊之前不會加載腳本。 然后,您可以這樣做:
add_action('loadmyscripthereplz', 'somefunction');
function somefunction(){
wp_enqueue_script('pluginMain');
}
然后,無論您要將腳本加載到何處,例如頁面模板,都可以執行以下操作:
do_action('loadmyscripthereplz');
這將使您可以將腳本調用實際放置在所需的任何位置。 另外,您也可以像完成操作一樣在功能文件中注冊腳本,然后使用is_front_page()之類的檢查或您需要的任何其他WP檢查有條件地調用wp_enqueue_script('script')。 這將允許您選擇腳本的加載位置和時間。
順便說一句,請確保在進行重定向時進行正確的檢查/驗證,因為這可能會帶來安全漏洞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.