カスタムオプションページを作成する際にSetting APIにチェックボックスを追加する方法を教えてください。私は次のコードを使用して、完璧に機能しているテキストボックスを追加していますが、設定APIとオプションにchechboxを追加する方法を完全に混同しています。入力タイプをチェックボックスに更新しようとしましたが、フォームを保存するときにチェックボックスがまだチェックされていないように表示されます。
add_settings_field('the_option_label',
'Display Paragraph:',
array($this,'the_option_label_setting'),
__FILE__,
'hte_main_section');
public function the_option_label_setting()
{
echo "<input name='My_Theme_Options[the_option_label]' type='text' value='{$this->options['the_option_label']}'/>";
}
ありがとう
見てください: WordPress設定APIの完全ガイド(パート8:検証、サニタイズ、および入力II) :
add_settings_field(
'Checkbox Element',
'Checkbox Element',
'sandbox_checkbox_element_callback',
'sandbox_theme_input_examples',
'input_examples_section'
);
function sandbox_checkbox_element_callback() {
$options = get_option( 'sandbox_theme_input_examples' );
$html = '<input type="checkbox" id="checkbox_example" name="sandbox_theme_input_examples[checkbox_example]" value="1"' . checked( 1, $options['checkbox_example'], false ) . '/>';
$html .= '<label for="checkbox_example">This is an example of a checkbox</label>';
echo $html;
}
編集:チェックボックスフィールドは、ボックスがチェックされているかどうかを判断するためにvalue
属性を使用しません。それらはchecked
属性を使います。上記の$html
行は、上記の記事の後半のコードを使用して編集されています。詳細については記事を読んでください。