Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Wordpress:使用一个插件文件&x27;s函数在另一个插件中';s文件_Javascript_Php_Jquery_Wordpress - Fatal编程技术网

Javascript Wordpress:使用一个插件文件&x27;s函数在另一个插件中';s文件

Javascript Wordpress:使用一个插件文件&x27;s函数在另一个插件中';s文件,javascript,php,jquery,wordpress,Javascript,Php,Jquery,Wordpress,我有两个插件一起工作(一个是某种附加组件)。在“main”插件中,我在一个文件中有一个js函数,如下所示: wp-plugins/main-plugin-name/js/main-js.js wp-plugins/secondary-plugin-name/js/sec-js.js 如果是我的第二个插件,我还有另一个.js文件,如下所示: wp-plugins/main-plugin-name/js/main-js.js wp-plugins/secondary-plugin-name/j

我有两个插件一起工作(一个是某种附加组件)。在“main”插件中,我在一个文件中有一个js函数,如下所示:

wp-plugins/main-plugin-name/js/main-js.js
wp-plugins/secondary-plugin-name/js/sec-js.js
如果是我的第二个插件,我还有另一个.js文件,如下所示:

wp-plugins/main-plugin-name/js/main-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文件中,我想使用该函数,因为该文件已经排队,所以我似乎应该能够使用该函数,但在调用该函数时会抛出一个未捕获的引用错误。

您的函数名
789\u函数
看起来很时髦。尝试重命名它:

function testName() {
    alert('this is a function ran!')
}
脚本2

testName();
我的猜测是wordpress做了一些奇怪的事情,因为他们不希望你修改他们的代码库


概念 只要第一个脚本在第二个脚本之前加载,第二个脚本就应该能够很好地利用它

first.js

var codeStuff = "This is code in the first script! :D";
console.log(codeStuff);
second.js

var codeStuff = "This is code in the first script! :D";
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>

我叫埃克斯坦,我很棒


当然有可能。不同的文件是不相关的。重要的是加载的范围和顺序,这取决于调用函数的时间和地点。请提供一个感谢,这实际上是有帮助的,因为这是我期望发生的事情,很高兴知道我没有错。也许我需要考虑优先级,这可能是问题所在……我只是在答案后面附加了你的代码,看看这是否有帮助。