WP Widget选择Box选项在保存时无法正确显示

时间:2017-10-28 09:24:24

标签: wordpress select widget

我正在尝试创建一个自定义Wordpress Widget,它有一个下拉选择字段。一切正常,但是当我回到小部件(例如编辑)时,选择下拉列表始终显示最高结果而不是我的选择。现在我该怎么办?请帮帮我。

public function form($three){
    ?>

        <div class="hut-widget-form">
            <label for="">Loop</label>
            <select name="<?php echo $this->get_field_name('loop') ?>" id="" class="widefat" > 
                <option  value="true" >True</option>
                <option  value="false">False</option>
            </select>
        </div>

    <?php   
}

1 个答案:

答案 0 :(得分:0)

您需要检查当前所选/已保存的值,并设置所选项目。

WordPress的selected()函数可以很方便。

更多信息:https://developer.wordpress.org/reference/functions/selected/

我假设使用“$ this-&gt; get_field_name('loop')”

获取所选值

将代码修改为:

public function form($three){
    ?>

        <div class="hut-widget-form">
            <label for="">Loop</label>
            <select name="<?php echo $this->get_field_name('loop') ?>" id="" class="widefat" > 
                <option  value="true" <?php selected( $this->get_field_name('loop'), "true" ); ?>>True</option>
                <option  value="false"<?php selected( $this->get_field_name('loop'), "false" ); ?>>False</option>
            </select>
        </div>

    <?php   
}