小部件表单代码变量之间的差异

时间:2016-09-13 作者:jrcollins

我正在尝试创建我的第一个小部件,希望有人能解释$this$instance 在以下小部件表单代码中使用。

<?php
public function form($instance){ ?>
    <label for="<?php echo $this->get_field_id(\'title\'); ?>">Title: 
        <input type="text" 
               name="<?php echo $this->get_field_name(\'title\'); ?>" 
               value="<?php echo $instance[\'title\']; ?>" 
               id="<?php echo $this->get_field_id(\'title\'); ?>"
        />
    </label>  
<?php 
}

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

$this 是小部件对象,是相关小部件类的实例。它包括小部件ID和类标识符等内容,这些是在代码段中生成输入ID和名称属性的方法所必需的

$instance 是包含小部件设置的数组。设置ae未存储为对象的一部分,因此需要作为参数传递

相关推荐

My widgets do not save

每次我保存我的小部件并离开页面时,我的小部件都会消失。侧边栏已完全清空,不会保存任何更改。控制台或PHP日志中没有任何错误。如果我将小部件直接复制并保存在数据库中widgets_text, 它们将被显示,但我仍然无法在侧边栏中添加或删除任何内容。这只发生在我的右侧边栏上,左侧边栏工作正常,但它们都以相同的方式注册。这是我注册侧边栏的方式:function my_widgets_init() { register_sidebar( array ( \'name\'