我开发了一个插件,可以在 WordPress 后台的 edit.php 页面添加一个按钮。此按钮使用远程 JSON 文件中的数据填充某些字段。但是,我在正确添加标题和分类数据时遇到问题。有人可以帮我弄清楚如何做到这一点吗?
这是我的代码:
<script>
document.addEventListener('DOMContentLoaded', function() {
document.getElementById('loadButton').addEventListener('click', function(event) {
event.preventDefault();
var imdbID = document.getElementById('imdb-title').value;
var url = '/wp-content/plugins/imdb/get.php?id=' + imdbID;
fetch(url)
.then(response => response.json())
.then(data => {
//document.getElementById('name').value = data.name || '';
document.getElementById('ratings-movie').value = data.score || '';
document.getElementById('year-type').value = data.year || '';
document.getElementById('period-time').value = data.duration || '';
document.getElementById('rating').value = data.vote || '';
document.getElementById('gross-worldwide-movie').value = data.boxoffice || '';
document.getElementById('age-limit').value = data.contentrating || '';
document.getElementById('awards-series').value = data.awards || '';
document.getElementById('metascore').value = data.metascore || '';
document.getElementById('top250-movies').value = data.imdbrate || '';
document.getElementById('budget-movie').value = data.budget || '';
//document.getElementById('title').value = data.name;
var tags = '1,2,3,4,5,56,7';
//var tags = data.tags || '';
var tagInput = document.getElementById('components-form-token-input-0');
if (tags && tagInput) {
tags.split(',').forEach(function(tag) {
tag = tag.trim();
if (tag) {
tagInput.value = tag;
document.getElementById('submit_tag').click();
}
});
}
})
.catch(error => {
console.error('Error fetching data:', error);
alert('Error loading JSON data.');
});
});
});
</script>
标题和标签(分类)字段未按预期填写。所有其他字段均已正确填充,但标题仍为空,并且未分配标签
如果没有看到 HTML,很难准确判断问题出在哪里,但是有几件事很突出:
document.getElementById()
时,它只会找到具有该 ID 的 first 元素。