Я создаю плагин с страницей параметров администратора, и я хочу использовать API настроек.Wordpress save wp_editor content using settings API
Я могу сохранить текстовые поля и флажки, но когда я добавляю поле настроек с wp_editor
, это не экономит ..?
Я использовал это с get_option
, но теперь я хочу использовать класс настроек и метод register_setting()
.
Это мой код:
public function register_settings() {
register_setting('eman_setting', 'eman_setting', array($this, 'eman_validate_settings'));
add_settings_field(
'eman_dashboard_welcome',
__("", 'emanlang'),
array($this, 'eman_dashboard_welcome_callback'),
'management-settings',
'eman_settings_section'
);
}
public function eman_dashboard_welcome_callback() {
//$content = 'Empty';
$editor_id = 'textareadashboardwelcome';
$args = array('textarea_name' => 'eman_dashboard_welcome');
if(! empty($this->eman_setting['eman_dashboard_welcome'])) {
$content = $this->eman_setting['eman_dashboard_welcome'];
} else {
$content = 'The field is empty';
}
wp_editor($content, $editor_id, $args);
/** TESTING **/
echo '<br /><b>testing textarea output: </b>'. $content .'<br /><br />';
echo '<b>Complete settings array dump: </b><br />';
echo var_dump($this->eman_setting);
}
Примечание: Это только соответствующая часть кода. На этой странице у меня есть несколько «add_settings_field», которые все работают нормально.
Как вы, возможно, заметили, для тестирования я делаю var_dump()
, чтобы проверить, что находится внутри массива параметров.
Отдача свалка:
array(3) { ["eman_opt_in"]=> string(2) "on" ["eman_sample_text"]=> string(10) "sample 1.1" ["eman_sample_text2"]=> string(10) "sample 2.2" }
После сохранения формы, массив содержит только 3 поля, поэтому массив даже не заполняется с [eman_dashboard_welcome]?
Я перепробовал много возможных решений, как добавить этот JQuery:
$('#submit').mousedown(function() {
tinyMCE.triggerSave();
});
Но ничего не работает ... Пожалуйста, помогите :-)