2013-10-04 98 views
0

我試圖將所有可能的功能放入下拉列表中。我對這個很陌生,所以對我很容易。我目前所面對的是沒有絲毫位工作:下拉列表中的所有功能

$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; 
} 

,它並創建一個下拉菜單。問題是,它是布爾型的。全是1。任何方式讓它返回實際的帽名?

- 編輯:這很奇怪,因爲vardump($ user-> allcaps);返回實際值,而不是布爾值。我嘗試過使用settype,但它不影響輸出。

+0

你的代碼對我來說似乎很好。你在哪裏實施它? –

+0

到目前爲止只是在頁面編輯器中用exec php激活。其他的PHP語句正在工作,但是當我把它扔到那裏時,整個頁面循環都變成空白。只是獲得頁面標題和頁眉/頁腳。 –

+0

查看更新後的帖子。進展。還不完全。 –

回答

2
foreach($capslist as $k=>$cap){ 
    $dropdown .= '<option value="'.$k.'">'.$k.'</option>'; 
} 

我的猜測是數組的結構。每個數組鍵都是該功能的實際名稱,其值是一個簡單的布爾值,用於確定給定用戶實例是否具有執行該給定操作的權限。

您正在通過名稱搜索功能,並且由於您僅在輸出中看到1,因此我認爲您要找的是鑰匙。

+0

感謝您的解釋。正確的錢。 –

相關問題