窗口小部件选项不返回任何内容

时间:2016-10-20 21:16:22

标签: wordpress

我正在尝试从我的窗口小部件选项中获取数据但只获取序列化响应,这是我的代码:

include('wp-config.php');
include("wp-blog-header.php");

$options = get_option('widget_muro');
var_dump($options);

返回:

a:1:{s:12:"_multiwidget";i:1;}

echo $options['name'];

什么都不返回

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

使用unserialize()将其转换为数组。

$options = 'a:1:{s:12:"_multiwidget";i:1;}';
$options = unserialize($options);
echo $options['_multiwidget']; //1

答案 1 :(得分:0)

感谢您的回答dkruchok !,我运行代码,但在选项中保存其他设置。这是我用来保存的代码

function update($new_instance, $old_instance){          
        $instance = $old_instance;           
        $instance['nombre'] = sanitize_text_field($new_instance['nombre']);
        $instance['servidor'] = sanitize_text_field($new_instance['servidor']);        
        return $instance;          
    }

    function form($instance){           
        $defaults = array('nombre' => '', 'servidor'=> '');           
        $instance = wp_parse_args((array)$instance, $defaults);            
        $nombre = $instance['nombre'];
        $servidor = $instance['servidor'];
        ?>
        <p>
            Nombre
            <input class="widefat" type="text" name="<?php echo $this->get_field_name('nombre');?>"
                   value="<?php echo esc_attr($nombre);?>"/>
        </p>
        <p>
            Servidor
            <input class="widefat" type="text" name="<?php echo $this->get_field_name('servidor');?>"
                   value="<?php echo esc_attr($servidor);?>"/>
        </p>        
<?php        
    }