我正在开发一个WordPress镜头代码插件。
我在TinyMCE中添加了一个列表框,我需要从wordpress数据库将数据加载到TinyMCE。我无法对列表框值进行硬编码,因为我的所有短代码值都保存在wordpress数据库中。
有没有办法做到这一点?
(function() {
tinymce.PluginManager.add('AP_tc_button', function( editor, url ) {
editor.addButton( 'AP_tc_button', {
text: 'My test button',
icon: 'wp_code',
onclick: function() {
editor.windowManager.open( {
title: 'Select Your AD',
body: [
{
type: 'listbox',
name: 'level',
label: 'Header level',
values: getValues()
}],
onsubmit: function( e ) {
editor.insertContent('dd');
}
});
}
});
});
})();
function getValues() {
//Set new values to myKeyValueList (i need this values get from the db)
tinyMCE.activeEditor.settings.myKeyValueList = [{text: 'newtext', value: 'newvalue'}];
return tinyMCE.activeEditor.settings.myKeyValueList;
}
答案 0 :(得分:0)
如果有人帮助访问此帖子的人。
我的解决方案是通过ajax请求检索数据。诀窍是执行同步请求(async:false)。
function getValues() {
var data = {'action': 'getValuesAjax'};
var q = jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: data,
async: false,
dataType: 'json'
});
var values = q.responseJSON;
return values;
}