Checkbox-Option kann nicht gespeichert werden

Ich weiß, dass dies ein Durcheinander ist, aber kann mir jemand sagen, warum ich in diesem Plugin keine Checkbox-Option speichern kann?

/* Runs when plugin is activated */ register_activation_hook(__FILE__,'vigtigt_besked_install'); /* Runs on plugin deactivation*/ register_deactivation_hook( __FILE__, 'vigtigt_besked_remove' ); function vigtig_besked_install() { /* Creates new database field */ add_option("vigtigt_data", 'Default', '', 'yes'); add_option("tweakfunction1", 'Default', '', 'yes'); } function vigtig_besked_remove() { /* Deletes the database field */ delete_option('vigtigt_data'); delete_option('tweakfunction1'); } /*———————————————————————*/ function vigtig_besked_html_page() { ?> 

Vigtige beskeder!

Skriv din tekst her: <input size="76" name="vigtigt_data" type="text" id="vigtigt_data" value="" /> (f.eks. Undervisning er aflyst pga. sne!)
function1: <input size="76" name="tweakfunction1" type="checkbox" id="tweakfunction1" checked="" />

<input type="submit" value="" />

<?php if (!current_user_can('manage_options')) { wp_die( __('You do not have sufficient permissions to access this page.') ); } echo '
'; echo '

Here is where the form would go if I actually had options.

'; echo '
'; ?>
<?php } if ( is_admin() ){ /* Call the html code */ add_action('admin_menu', 'vigtig_besked_admin_menu'); function vigtig_besked_admin_menu() { add_menu_page('Vigtigt', 'Vigtige beskeder!', '1','vigtig_besked', 'vigtig_besked_html_page');} }

Solutions Collecting From Web of "Checkbox-Option kann nicht gespeichert werden"

Ich bin mir nicht sicher, wo Sie diese function hinzufügen, aber ich sehe nirgendwo in diesem Code, wo Sie die function update_option () verwenden. Über Ihrem Formular HTML sollten Sie prüfen, ob das Formular Daten gepostet hat, und dann die Option aktualisieren.

 //Do nonce checking here and $tweak = $_POST['tweakfunction1'] ? $_POST['tweakfunction1'] : ''; update_option('tweakfunction1', esc_html($tweak)); 

WordPress enthält eine function namens checked (), die einen bestimmten Wert überprüft. Ihr Eingabe-Tag hat auch kein Wert-Attribut. Ich fügte es unten mit der überprüften function hinzu.

  value='foobar' />