个性化阅读
专注于IT技术分析

如何在小部件开发中获取选项值

我正在尝试学习WordPress的Widgets API并创建自己的Widget。

问题:当我尝试回显$ instance [‘platform’]时, 什么也没出现。

我希望能够获得价值。

class Practice_Widget extends WP_Widget
{
    function __construct()
    {
        $widget_ops = array(
            'classname' => 'my-widget', 'description' => 'Second Widget'
        );
        parent::__construct('my_little_widget', 'Practice Second', $widget_ops);
    }

    public function widget($args, $instance)
    {
        echo $args['before_widget'];
        echo $instance['platform'];             
        echo $args['after_widget'];
    }

    public function form ($instance)
    {
        ?>
        <p>
            <label for = "<?php echo esc_attr($this->get_field_id('title')); ?>">
                Title: 
            </label>
            <select name="<?php echo esc_attr($this->get_field_name('platform')); ?>)">
                <option value="face">Facebook</option>
                <option value="insta">Instagram</option>
            </select>
        </p>
    <?php
    }

    public function update ($new_instance, $old_instance)
    {
        $instance = array();
        $instance['platform'] = ! empty($new_instance['platform']) ? $new_instance['platform'] : '';
    }
}

#1


你的update()函数需要返回$ instance数组, 否则WordPress将无法保存新值(因此, 你在前端看不到任何内容的原因):

public function update ($new_instance, $old_instance)
{
    $instance = array();
    $instance['platform'] = ! empty($new_instance['platform']) ? $new_instance['platform'] : '';

    return $instance;
}

有关更多详细信息, 请参见Widgets API文档。

赞(0)
未经允许不得转载:srcmini » 如何在小部件开发中获取选项值

评论 抢沙发

评论前必须登录!