我有两个协同工作的插件(一个是某种附加组件)。在“main”插件中,我在一个文件中有一个 js 函数,位置如下:
wp-plugins/main-plugin-name/js/main-js.js
如果是我的辅助插件,我有另一个 .js 文件,位置如下:
wp-plugins/secondary-plugin-name/js/sec-js.js
在第二个插件的 .js 文件中,我想使用位于第一个 .js 文件中的函数。基本上,我希望该功能对两个插件都可用。
我已经使用主插件注册并加入了第一个 .js 脚本,但我似乎无法让辅助插件从第一个插件中找到函数并使用它。
在第一个插件的主函数文件中:
add_action( 'wp_enqueue_scripts', 'custom_enqueue_script');
add_action('admin_enqueue_scripts', 'custom_enqueue_script');
function custom_enqueue_script() {
wp_register_script( '123-script-name', $plugin_url.'js/123-script-name.js', array('jquery') );
wp_enqueue_script( '123-script-name' );
}
在该文件中,有一个函数:
function 789_function() {
alert('this function ran!');
}
在第二个插件的 .js 文件中,我想使用该函数,这似乎是我应该能够使用的,因为该文件已经入队,但在调用该函数时会抛出一个 Uncaught ReferenceError 。
最佳答案
您的函数名称 789_function
看起来很时髦。尝试重命名它:
function testName() {
alert('this is a function ran!')
}
脚本 2
testName();
我最好的猜测是 wordpress 做了一些古怪的事情,因为他们不希望你修改他们的代码库。
概念
只要第一个脚本在第二个脚本之前加载,第二个脚本就应该能够很好地利用它。
first.js
var codeStuff = "This is code in the first script! :D";
second.js
console.log(codeStuff);
输出
"This is code in the first script! :D"
--
页面
<html>
<head>
<script src="first.js"></script>
<script src="second.js"></script>
<body>
<p>My name is Eckstein and I'm awesome.</p>
</body>
</head>
关于javascript - Wordpress:在另一个插件文件中使用一个插件文件的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47245918/