管理者設定ページでプラグインを作成しており、設定 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();
});
しかし、何も機能しません...助けてください:-)