在下拉菜单中显示选定的值

时间:2011-09-14 作者:Dean Elliott

我有一个多站点的设置,我在我的主题的仪表板的配置文件编辑屏幕中添加了一些额外的信息字段。我主要使用文本字段,但我有一个针对作者所在国家/地区的下拉选择菜单

<select name="country" class="mid2" id="country"  value="<?php echo $userdata->country ?>" style="width:150px;">
我的问题是,如果用户选择“Togo”,例如,它会注册更改(我知道这一点,因为它会在作者的个人主页中重复),但下拉菜单中的默认值(在本例中为美国)始终保持不变。

有什么想法可以让它显示作者选择的哪个国家吗?

2 个回复
最合适的回答,由SO网友:Brian Fegter 整理而成

Wordpress内置了一个很好的小功能来处理选择。

<option <?php selected(\'value1\', \'value2\');?> value=\'foo\'>Bar</option>
您还可以查看以下表单处理功能:

选中()http://codex.wordpress.org/Function_Reference/checked禁用()http://codex.wordpress.org/Function_Reference/disabled您的HTML语法也错误。根据W3C,“value”不是select标记的属性。选择的值在选择的选项中定义。应该是这样的:

<select name="country" class="mid2" id="country" style="width:150px;">
    <option value="US" <?php selected(\'US\', $userdata->country);?>>USA</option>
    <option value="ES" <?php selected(\'ES\', $userdata->country);?>>Spain</option>
    <option value="FR" <?php selected(\'FR\', $userdata->country);?>>France</option>
</select>

SO网友:Cole

所以你说它注册了更改,所以它听起来不像是Wordpress的问题,但这里是如何显示它的。

<option value="your_value" <?php if(this is the Country you selected)echo \'selected="selected"\'; ?> >The Country</option> 

结束

相关推荐

Find most recent authors

我想做的是从16位不同的作者那里得到16篇最新的帖子。换句话说,将有16篇最新的帖子,但没有一位作者会在页面上发表超过1篇的帖子。我考虑的方法是遍历所有的作者,删除重复项,然后将其限制为16个,并使用它在一个for-each循环中生成帖子,但我想这对服务器来说会很沉重。有什么建议吗?