【发布时间】:2013-10-04 23:28:23
【问题描述】:
我正在尝试将所有可能的功能放入下拉列表中。我是新手,所以请放轻松。我目前所拥有的丝毫没有工作:
$user = get_user_by('id', '1');
$capslist = $user->allcaps;
$dropdown = '<select>';
foreach($capslist as $cap){
$dropdown .= '<option value="'.$cap.'">'.$cap.'</option>';
}
$dropdown .= '</select>';
return $dropdown;
编辑 --
我将其设为短代码只是为了快速测试:
add_shortcode('capsdropdown', 'sc_capsdropdown');
function sc_capsdropdown($attr) {
$user = get_user_by('id', '1');
$capslist = $user->allcaps;
$dropdown = '<select>';
foreach($capslist as $cap){
$dropdown .= '<option value="'.$cap.'">'.$cap.'</option>';
}
$dropdown .= '</select>';
return $dropdown;
}
它确实创建了一个下拉菜单。问题是,它是布尔值。都是1s。有什么方法可以让它返回实际的上限名称?
-- 编辑:这很奇怪,因为 vardump($user->allcaps);返回实际值,而不是布尔值。我尝试使用 settype 但它不影响输出。
【问题讨论】:
-
您的代码对我来说似乎不错。你在哪里实现的?
-
到目前为止,只在页面编辑器中激活了 exec php。其他 php 语句正在工作,但是当我把它扔在那里时,整个页面循环变为空白。只是获取页面标题和页眉/页脚。
-
查看更新后的帖子。进步。还没有。
-
这是在黑暗中拍摄的,但试试这个:
foreach($capslist as $k=>$cap){ $dropdown .= '<option value="'.$k.'">'.$k.'</option>'; } -
黑暗中的绝杀!完全奏效。谢谢!把它写成答案,我会把它标记为已回答。 (然后也许向我解释 如何 工作!;)
标签: php wordpress for-loop capability