Wordpress设置页面,如何默认复选框的状态进行检查?
I have a checkbox, whose default state is unchecked:
<?php
function edit_theme_settings() {
if ( get_option('sold_text') == true ) { $display = 'checked'; }
else { $display = ''; }
update_option( 'sold_text', $display );
?>
<input type="checkbox" name="sold_text" id="sold_text" <?php echo get_option('sold_text'); ?> />
I'd like its default status to be unchecked the first time the form is displayed, subsequently its 'checked' status should be defined by get_option('sold_text').
我有一个复选框,其默认状态未选中: p>
&lt;?php
function edit_theme_settings(){
if(get_option('sold_text')== true){$ display ='checked'; }
else {$ display =''; }
update_option('sold_text',$ display);
?&gt;
&lt; input type =“checkbox”name =“sold_text”id =“sold_text”&lt;?php echo get_option('sold_text') ; ?&GT; /&gt;
code> pre>
首次显示表单时,我希望其默认状态为取消选中 strong>,然后将其“检查” 状态应由get_option('sold_text')定义。 p>
div>
Neither suggestion worked for me in this instance but I think I've solved it myself by using add_option()
A safe way of adding a named option/value pair to the options database table. It does nothing if the option already exists.
So I did: add_option('sold_text') with the value 'checked', thus the checkbox defaults to checked. Now, since the option already exists add_option() does nothing the next time the form is loaded or submitted and update_option() handles the updating of the checkbox status...
<?php
function edit_theme_settings() {
add_option( 'sold_text', 'checked' );
if ( get_option('sold_text') == true ) { $display = 'checked'; }
else { $display = ''; }
update_option( 'sold_text', $display );
?>
<input type="checkbox" name="sold_text" id="sold_text" <?php echo get_option('sold_text'); ?> />
Check boxes are stored as 0 or 1 (for unchecked, checked) so you need something like this:
<input type="checkbox" name='sold_text' id='sold_text' value="1" <?= checked( get_option('sold_text'), 1, false );?> />
WP's checked() function is designed for this: http://codex.wordpress.org/Function_Reference/checked