Wordpress:在另一个插件的文件中使用一个插件文件的功能

时间:2017-11-12 05:50:57

标签: javascript php jquery wordpress

我有两个一起工作的插件(一个是各种插件)。在“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文件中,我想使用该函数,这似乎我应该可以,因为该文件已经入队,但在调用该函数时会引发未被捕获的引用错误。

1 个答案:

答案 0 :(得分:1)

您的功能名称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>