我正在使用以下函数来获取存储在wordpress中的选项。
function get_settings( $option ) {
$options = get_option( 'my_options', my_default_options() );
return $options[ $option ];
}
在上面的函数中,my_default_options()
返回一个具有默认值的数组。现在如果我调用上面的函数:
get_settings("title");
如果默认选项数组中存在“标题”,它将正常工作。
但是如果默认选项数组中不存在title
,那么我会收到以下警告:
Notice: Undefined index:
我该如何解决此通知?我试过以下:
function get_settings( $option ) {
$defaults = my_default_options();
if(in_array($option, $defaults)){
$options = get_option( 'my_options', my_default_options() );
return $options[ $option ];
}
}
但它仍会返回相同的通知。
答案 0 :(得分:1)
使用isset
function get_settings( $option ) {
$defaults = my_default_options();
if(in_array($option, $defaults)){
$options = get_option( 'my_options', my_default_options() );
return isset($options[ $option ]) ? $options[ $option ] : '';
}
}
答案 1 :(得分:1)
使用函数array_key_exists
。 in_array
在array_key_exists
搜索键/索引时搜索值:
function get_settings( $option ) {
$options = get_option( 'my_options', my_default_options() );
if(array_key_exists($option, $options))
return $options[ $option ];
return "unknown";
}