如何使用插件向Wordpress管理员添加自定义javascript

如何使用插件向Wordpress管理员添加自定义javascript,wordpress,wordpress-admin,Wordpress,Wordpress Admin,我正在设置一个新的Wordpress插件和一个自定义的metabox。此框包含存储在数组中的字段集。我希望用户能够通过单击管理页面上的按钮添加一组新字段 我读过关于如何实现这一目标的不同帖子,但我还没有成功。出于测试目的,我在metabox中创建了一个真正简单的设置来更改元素的文本。这也不起作用,所以我认为正确加载脚本是个问题 那么到目前为止我做了什么: -通过admin_enqueue_脚本添加操作 -使用wp\u register\u脚本注册脚本 -使用wp_enqueue_脚本对脚本进行排

我正在设置一个新的Wordpress插件和一个自定义的metabox。此框包含存储在数组中的字段集。我希望用户能够通过单击管理页面上的按钮添加一组新字段

我读过关于如何实现这一目标的不同帖子,但我还没有成功。出于测试目的,我在metabox中创建了一个真正简单的设置来更改元素的文本。这也不起作用,所以我认为正确加载脚本是个问题

那么到目前为止我做了什么: -通过admin_enqueue_脚本添加操作 -使用wp\u register\u脚本注册脚本 -使用wp_enqueue_脚本对脚本进行排队 -设置js文件(出于测试目的选择将其存储在与插件相同的目录中


function amai_woordjes_scripts() {

wp_register_script( 'amai_woordjes_updaten', 'amai_woordjes_updaten.js', array( 'jquery' ), '1.0', true );

wp_enqueue_script( 'amai_woordjes_updaten' );

}

add_action( 'admin_enqueue_scripts', 'amai_woordjes_scripts' );



//HTML code I use in the function which is called by add_meta_box

echo '<p id="demo">Current text</p>';
echo '<button id="woordje_toevoegen" onclick="woordjesToevoegen();">Woorden toevoegen</button>';


//amai_woordjes_updaten.js
<script>
  function woordjesToevoegen() {
    document.getElementById("demo").innerHTML = "New texxt";
  }
</script>

函数amai_woordjes_脚本(){
wp_register_脚本('amai_woordjes_updaten','amai_woordjes_updaten.js',数组('jquery'),'1.0',true);
wp_enqueue_脚本('amai_woordjes_updaten');
}
添加操作('admin_enqueue_scripts'、'amai_woordjes_scripts');
//我在add_meta_box调用的函数中使用的HTML代码
echo“

当前文本; 回声“Woorden toevoegen”; //amai_woordjes_updaten.js 函数woordjesToevoegen(){ document.getElementById(“demo”).innerHTML=“New texxt”; }


您需要使用函数wp\u enque\u script()。您使用的脚本路径不正确

plugin_dir_path( __DIR__ ) . path/to/script.js

首先,您必须设置文件路径

在插件根目录中创建js文件夹,并在js文件夹中移动'amai_woordjes_updaten.js'文件

function amai_woordjes_scripts() {

wp_register_script( 'amai_woordjes_updaten', plugin_dir_url( __FILE__ ).'js/amai_woordjes_updaten.js', array( 'jquery' ), '1.0', true );

wp_enqueue_script( 'amai_woordjes_updaten' );

}

add_action( 'admin_enqueue_scripts', 'amai_woordjes_scripts' );

请参阅:Thanx以获取您的反馈。wp_enque_script()确实是我在复制代码时犯的错误(我不想复制整个内容)。对于脚本目录,我会根据您的更正更改代码:wp_register_script('amai_woordjes_updaten',plugin_dir_path(dir)。'amai_woordjes_updaten.js',array('jquery'),'1.0',true);我仔细检查了脚本名称,它是正确的(出于测试目的,它与插件位于同一个目录中)。但仍然不走运。是否可以在管理区域的插件中使用javascript?使用DIR代替DIR,如果路径不正确,您可以在dev tools 404中看到错误耶,我使用了
(u DIR_u)
但Stackoverflow将其更改为粗体文本,如您的comment Max。我确实在开发工具中遇到了404错误。因此我重复了插件位置并检查了几次。但我确信位置是正确的。如果路径正确,可能您需要更改文件权限。将644设置为您的文件我认为问题在于它是指脚本的实际位置。在我的例子中,这是“/home/wappdzy83/domains/wappdesign.nl/public_html/wp content/plugins/amai cpt test/amai_woordjes_updaten.js”。但当我检查404错误时,它正在添加网站名“”。