0

我想使用以下代码添加一些单选按钮:

add_settings_field(
    'video_embed', 
    'Embed YouTube/Videmo Video', 
    array( $this, 'video_embed_callback' ),
    'setting-admin',
    'field_settings'
);

并编写如下回调函数:

public function video_embed_callback()
{
    $value = isset( $this->options['is_video_embed'] ) ? esc_attr( $this->options['is_video_embed']) : '';
    printf('<label><input type="radio" id="is_video_embed_y" name="option_name[is_video_embed]" value="enable" '.checked( $value, 'enable', false ).' /> Enable</lable>');
    echo "<br>";
    printf('<label><input type="radio" id="is_video_embed_n" name="option_name[is_video_embed]" value="disable" '.checked( $value, 'disable', false ).' /> Disable</lable>');
}

一切正常,但问题是 lebel 不工作。当我检查页面时,我得到以下结构:

<tr valign="top">
    <th scope="row">Embed YouTube/Videmo Video</th>
    <td>
        <label>
            <input type="radio" id="is_video_embed_y" name="nl_option_name[is_video_embed]" value="enable">
            Enable<br>
            <label>
                <input type="radio" id="is_video_embed_n" name="nl_option_name[is_video_embed]" value="disable">
            Disable
            </label>
        </label>
    </td>
</tr>

但它应该如下所示:

<label>
    <input type="radio" id="is_video_embed_y" name="nl_option_name[is_video_embed]" value="enable">
    Enable<br>
</label>
<label>
    <input type="radio" id="is_video_embed_n" name="nl_option_name[is_video_embed]" value="disable">
Disable
</label>

请帮助我,我不知道发生了什么:(

4

1 回答 1

1
printf('<label><input type="radio" id="is_video_embed_y" name="option_name[is_video_embed]" value="enable" '.checked( $value, 'enable', false ).' /> Enable</lable>');

它的标签不是标签,你在结束标签标签中有错字

于 2013-11-09T13:59:50.123 回答