Accessing widget information

时间:2013-01-31 作者:Wern Ancheta

我正在尝试访问保存在wp_options
我打印出来了:

add_filter(\'the_content\', function(){
    $res = get_option(\'widget_my_widget\');
    print_r($res);
});
它输出了这个:

Array ( [2] => Array ( [title] => asian kung-fu generation [description] => awesome band ) [_multiwidget] => 1 )
我的问题是:数据总是存储在索引2中吗?如果没有,我如何访问数据而不必担心它是否提供了正确的数据?

1 个回复
最合适的回答,由SO网友:brasofilo 整理而成

索引值似乎在递增,我们添加/删除小部件的实例。

为了确保抓取了正确的数据,我只能考虑通过一些控制变量在小部件数据本身内部进行检查,例如:

Array ( 
    [2] => Array ( 
        [title] => asian kung-fu generation 
        [description] => awesome band 
        [var-of-control] => true (or some other convention) 
    ) 
    [_multiwidget] => 1 
)
甚至是头衔。这个following function 是否执行此检查:

add_filter( \'the_content\', function(){
    $res = get_option( \'widget_my_widget\' );
    $check = check_array_key_value( $res, \'title\', \'asian kung-fu generation\' );
    print_r( $check );
});

function check_array_key_value( $array, $key, $val ) 
{
    foreach ( $array as $item )
    {       
        if ( isset( $item[$key] ) && $item[$key] == $val)
            return $item;
    }
    return false;
}

结束

相关推荐

Google Map在Tab Plugins的第二个选项卡上无法使用

我正在使用postTabs plugin 和Comprehensive Google Map Plugin, 我的问题是,当我在第二个选项卡上有我的谷歌地图时,地图没有按预期加载。但是如果我把它移到第一个标签上,效果会非常好。。有没有办法让地图在第二个选项卡上工作?实际上,无论我使用哪个选项卡插件,地图都不会正确加载到第二个选项卡上。。欢迎提出任何建议。谢谢:)