gpt4 book ai didi

javascript - 将 JavaScript 排入 Wordpress 插件

转载 作者:行者123 更新时间:2023-11-29 15:32:37 26 4
gpt4 key购买 nike

-我正在尝试在我的插件中包含 JavaScript 文件。为了进行测试,我调用了一个 JavaScript 函数 fun()。

-我的插件目录结构是:

(first-plugin, (js, 'animate.js'), 'first_plugin.php')

上面给出的目录格式是这样的(dirname, content_in_the_dir_separated_by_comma)。

-这是我的主要插件文件代码:

function wl_include_files() {
wp_enqueue_script('wl_js', plugin_dir_path( __FILE__ ) . '/js/animate.js', array( 'jquery' ));
}

function wl_activate_plugin() {
add_action('admin_enqueue_scripts', 'wl_include_files');
}

//
register_activation_hook(__FILE__, 'wl_activate_plugin');

function test() {
$v = "<script>fun();</script>";
echo $v;
}

//
add_action('admin_init', 'test');

-这是我的 JavaScript 文件代码:

console.log('hi, file included properly.');

function fun() {
alert("Hey, Someone calling me.");
}

-我的控制台出现以下错误:

ReferenceError: fun 未定义

-谁能告诉我问题出在哪里?

最佳答案

admin_init()当用户访问管理区域时,钩子(Hook)在任何其他钩子(Hook)之前被触发。这意味着 test()在构建页面的任何部分之前被调用。或者换句话说,fun()甚至会在 <html> 之前被调用在 animate.js 之前标记和更重要的是包含在 <head> 中.

test.php(测试插件目录下的主插件文件)

//this wp_footer hook is called once the entire front-end page body has been constructed
add_action('wp_footer', 'test');

wp_enqueue_script( 'myjs', plugin_dir_url( __FILE__ ) . '/js.js');

function test()
{
echo '<script>test();</script>';
}

js.js(在同一个测试目录中)

function test()
{
console.log("Function called.");
}

(function ()
{
console.log('JavaScript successfully included.');
})();

更多链接:

关于javascript - 将 JavaScript 排入 Wordpress 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33202435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com