2010-12-06 80 views
0
Warning: Invalid argument supplied for foreach() in /Applications/MAMP/htdocs/europeiska/wp-content/themes/europeiska/get-theme-options.php on line 4 

這是Wordpress檢索此信息的正確代碼,爲什麼PHP將此信息吐出?php繼續給出以下內容

<?php 
//allows the theme to get info from the theme options page 
global $options; 
foreach ($options as $value) { 
    if (get_option($value['id']) === FALSE) { $$value['id'] = $value['std']; } 
    else { 
     $$value['id'] = get_option($value['id']); 
    }  
} 

?>

回答

1

問題是$ options將是一個空值,即它已經得到任何排序設置的任何數據。

0

我不知道你爲什麼要這樣做。如果您正在嘗試查看所有選項,請嘗試以下頁面:http://domain.com/wp-admin/options.php on wordpress install或查看數據庫。

如果是訪問特定選項的問題,爲什麼不堅持使用get_option()?

我不認爲「$ options」是wordpress中自然定義的變量,所以您需要確保在運行foreach之前自己定義它。

辦法避免的錯誤,如果你不知道,如果$選項會一直被定義爲前右它添加一個快速檢查:

global $options; 
if (is_array($options)) foreach ($options as $value) { 
    if (get_option($value['id']) === FALSE) { $$value['id'] = $value['std']; } 
    else { 
     $$value['id'] = get_option($value['id']); 
    }  
}