复选框`checked()`function echo's checked ='checked'

时间:2018-03-22 08:54:34

标签: php html wordpress checkbox

我正在编写一个WordPress插件并在表单中有一个复选框。

如果选中该复选框,则会将值保存到数据库并显示在表单中。但是,如果选中该复选框,则会在表单中输出checked='checked'

所以复选框的工作方式就像它需要工作但我不知道为什么它会将checked='checked'输出到表单

public function display() {

    $html = '';
    // Add an nonce field so we can check for it later.
    wp_nonce_field( basename( __FILE__ ), 'nonce_check_value' );
    $html .= '<label for="CMBUserBoxName">Name metabox: </label>';
    $html .= '<input type="text" name="CMBUserBoxName" value="' . get_post_meta( get_the_ID(), 'CMBUserBoxName', true ). '">';
    $html .= '<h1>What do you need?</h1>';
    $html .= '<label for="CMBUserCheckbox">Checkbox: </label>';
    $checkedByUser = get_post_meta( get_the_ID(), 'CMBUserCheckbox', true );
    $html .= '<input type="checkbox" name="CMBUserCheckbox" value="1" '.checked( $checkedByUser, 1 ).' />';

    echo $html;
}

屏幕上的输出如下 enter image description here

2 个答案:

答案 0 :(得分:4)

默认情况下checked()函数echo。在最后一个参数中使用false返回字符串而不是echo。

$html .= '<input type="checkbox" name="CMBUserCheckbox" value="1" '.checked( $checkedByUser, 1, false).' />';

答案 1 :(得分:0)

使用wordpress Checked()函数可以执行此操作

<input checked class="classname" value="checkvalue" id="" type="radio" name="" <?php echo checked( get_option('get_check_box_value'), 'checkvalue') ?>>