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

标签 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 文件中,我想使用该函数,这似乎是我应该能够使用的,因为该文件已经入队,但在调用该函数时会抛出一个 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/

相关文章:

jquery - 通过箭头键自动建议选择

javascript - focusNode 在选择整个元素时返回 undefined

javascript - 根据特定标准从字符串中提取子字符串的有效方法?

javascript - 动画滚动第一次不工作

php - MySQL数据库+时间戳/PHP

javascript - 如何使用 jQuery 按名称检索值数组?

javascript - 无法使用 $http 读取未定义的属性 'success'

php - 将图像与图像的照片进行比较

php - SilverStripe 3.x 中是否推荐命名空间?

javascript - 点击图片不改变