[英]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.