代码之家  ›  专栏  ›  技术社区  ›  Interactive

Checkbox'checked()`函数echo's checked='checked'

  •  1
  • Interactive  · 技术社区  · 8 年前

    我正在写一个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 回复  |  直到 8 年前
        1
  •  4
  •   Syscall - leaving SO... Juhzuri    8 年前

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

    $html .= '<input type="checkbox" name="CMBUserCheckbox" value="1" '.checked( $checkedByUser, 1, false).' />';
    
        2
  •  0
  •   Tehseen Ahmed    8 年前

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

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