Почему флажок не проверяется?

Примечание. Я не использую API установки WordPress.

У меня есть эта функция флажка

Каждая вещь отлично работает на средства сохранения, если у меня есть 5 флажков, и я проверил два из них, возвращаемых двумя значениями, но здесь проблема заключается в том, что флажки не отмечены.

if (!function_exists('dr__section_for_multi_select_creation')) : function dr__section_for_multi_select_creation($value) { dr_create_opening_tag($value); echo '<ul class="dr-checklist" id="'.$value['id'].'" >'."\n"; // $chk = ( get_option( 'test' ) == 1 ) ? $chk = "checked" : ""; foreach ($value['options'] as $option_value => $option_list) { echo 'value_id=' . $value['id'] .' value_id=' . get_option($value['id'].'['.$option_value.']') . ' options_value=' . $option_value; $checked = (get_option($value['id']) === true ) ? " checked='checked'" : " "; echo $value['id'].'['.$option_value.']'; // echo get_option($value['id']."_".$option_value); // echo get_option($value['id']); echo "<li>\n"; echo '<input type="checkbox" name="'.$value['id'].'['.$option_value.']" value="true" '.$checked.' class="customclass" /><span>'.$option_list['title'].'</span>'."\n"; echo "</li>\n"; } // echo "<input type=\"checkbox\" value=\"\" name=\"test\" ".$chk." >"; echo "</ul>\n"; dr_create_closing_tag($value); } endif; 

Когда я внес изменения в указанную выше функцию

Что я изменил на эту функцию: я изменил переменную $ checked

Опять же, каждая вещь отлично работает с сохранением, если у меня есть 5 флажков, и я проверил два из них, возвращающих два значения, но здесь проблема заключается в том, что все флажки отмечены.

 if (!function_exists('dr__section_for_multi_select_creation')) : function dr__section_for_multi_select_creation($value) { dr_create_opening_tag($value); echo '<ul class="dr-checklist" id="'.$value['id'].'" >'."\n"; // $chk = ( get_option( 'test' ) == 1 ) ? $chk = "checked" : ""; foreach ($value['options'] as $option_value => $option_list) { echo 'value_id=' . $value['id'] .' value_id=' . get_option($value['id'].'['.$option_value.']') . ' options_value=' . $option_value; $checked = (get_option($value['id'])) ? " checked='checked'" : " "; // THE CHANGES HAVE BEEN MAKED HERE echo $value['id'].'['.$option_value.']'; // echo get_option($value['id']."_".$option_value); // echo get_option($value['id']); echo "<li>\n"; echo '<input type="checkbox" name="'.$value['id'].'['.$option_value.']" value="true" '.$checked.' class="customclass" /><span>'.$option_list['title'].'</span>'."\n"; echo "</li>\n"; } // echo "<input type=\"checkbox\" value=\"\" name=\"test\" ".$chk." >"; echo "</ul>\n"; dr_create_closing_tag($value); } endif; 

Функция сохранения

 function dr_test() { global $options, $themename; if ( $_GET['page'] == 'dr-theme-option-admin' ) { if (isset($_REQUEST['formaction'])) { if ( 'save' == $_REQUEST['formaction'] ) { echo $_REQUEST['formaction']; echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings saved for this page.</strong></p></div>'; foreach ($options as $value) { if (isset($value['id'])) { if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } else { delete_option( $value['id'] ); } } } } else if('reset_all' == $_REQUEST['formaction']) { echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings reset.</strong></p></div>'; foreach ($options as $value) { if (isset($value['id'])) { delete_option( $value['id'] ); } } } } } } dr_test(); 

Функция, которую я использую для проверки значений

Объяснение: multi-select используется в массиве. Проверьте ссылку codex

 <?php global $options; foreach ($options as $value) { if (isset($value['id'])) { if (get_option($value['id']) === FALSE) { if ($value['type'] === 'multi-select') { foreach (get_option( $value['id']) as $key) { echo $key; } } } } ?> 

Надеюсь, кто-нибудь может мне скоро помочь 🙂

ОБНОВЛЕНО : в кодексе проверьте пример 3