WP 小部件 Select 框选择在保存时未正确显示

WP Widget Select Box selections not displaying correctly on save

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

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   
}

您需要检查所选项目的当前 selected/saved 广告集价值。

WordPress selected() 函数可以派上用场。

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

我假设使用“$this->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   
}