我在我的一个插件设置页面上设置了所见即所得编辑器。内容会保存,但只有在您点击“保存”两次后才能保存。如果你点击一次,你会收到保存设置的消息,但内容实际上不会保存。刷新页面后,页面会恢复到以前的状态。
我正在使用wp\\u editor初始化编辑器,如下所示:
$single_optin_message_parameters = array(
\'teeny\' => true,
\'textarea_rows\' => 15,
\'tabindex\' => 1,
\'textarea_name\' => \'single-optin-message\'
);
<?php wp_editor( $this->optionVal[\'single-optin-message\'] , \'single_optin_message\', $single_optin_message_parameters); ?>
我通过AJAX保存内容。
$(\'#form\').submit(function (e) {
// Make sure the api key exists
if (blankFieldCheck()) {
$.ajax({
type: \'POST\',
url: ajaxurl,
data: {
action: \'yks_form\',
form_action: \'update_options\',
form_data: $(\'#yks-form\').serialize()
},
dataType: \'json\',
success: function (RESPONSE) {
if (RESPONSE == \'1\') {
$(\'#yks-status\').html(\'<div class="updated"><p><?php _e(\'The options were saved successfully!\', \'yikesplugin\'); ?></p></div>\');
$(\'#yks-status\').slideDown(\'fast\');
} else {
$(\'#yks-status\').html(\'<div class="error"><p><?php _e(\'The options could not be saved (or you did not change them).\', \'yikes-inc-easy-mailchimp-extender\'); ?></p></div>\');
$(\'#yks-status\').slideDown(\'fast\');
console.log(RESPONSE);
}
},
error : function(RESPONSE2) {
console.log(RESPONSE2.responseText);
}
});
}
e.preventDefault();
});
当字段为标准字段时,此操作有效
<textarea></textarea>
但是,在我将其转换为所见即所得时,我需要按两次“保存”,以便实际保存数据。我不明白为什么。我已经测试了保存表单时序列化的数据,我可以看到我的新数据已经传递,并且我得到了它已保存的确认。然后我刷新页面,它就会恢复。没有意义。