更改Checkbox的回显值

时间:2013-11-22 12:04:00

标签: php wordpress checkbox

我在wordpress网站的前端实现了一些复选框,以便从注册用户那里获取一些信息。我总是问他们:“你是一名设计师吗?”或者“你是演员吗?”并在下面设置一个复选框,以便他们可以检查或取消选中它。

Checkbox代码如下所示:

<input  type="checkbox" name="new_user_designer" id="new_user_designer"  value="true" <?php if (esc_attr( get_the_author_meta(  "new_user_designer", $userdata->ID )) == "true") echo "checked";  ?> />

我用以下方法保存Checkbox输入:

if ($_POST['new_user_designer'] != $user_info->new_user_designer)
    update_user_meta($user_info->ID, 'new_user_designer', sanitize_text_field($_POST['new_user_designer']));

到目前为止,一切都很棒!但这是我的问题,我需要你的帮助。 我将回显用户Authorbox中的复选框值。我试过这段代码:

<?php echo $user_info->new_user_designer; ?>

上面的代码用于显示每个用户的正确Checkbox状态,但它返回 值“true”。现在,我如何将输出“true”更改为“Designer”或任何自定义单词...... ??? 同样,如果用户选中Checkbox,它应该在Author Box中显示Designer而不是仅显示“true”?

第二个问题:

如果我的第一个问题有解决方案,如果某个用户检查多个复选框,我需要一些帮助来连续显示来自2个或更多复选框的多个选中输入。例如,用户是Designer和Actor,他检查2个复选框,现在它应该显示在用户信息框中:

设计师,演员

1 个答案:

答案 0 :(得分:0)

我觉得你应该改变下面的代码

<input  type="checkbox" name="new_user_designer" id="new_user_designer"  value="true" <?php if (esc_attr( get_the_author_meta(  "new_user_designer", $userdata->ID )) == "true") echo "checked";  ?> />

<input  type="checkbox" name="new_user_designer" id="new_user_designer"  value="Designer" <?php if (esc_attr( get_the_author_meta(  "new_user_designer", $userdata->ID )) == "Designer"){ echo "checked";}  ?> />