为你的 WordPress 小工具创建表单

创建表单

要为你的小工具创建表单,你需要填充已经添加Tutsplus_List_Pages_ Widget 类中的form函数。

打开你的插件,找到form函数,编写如下:



function form( $instance ) {

    $defaults = array(
        'depth' => '-1'
    );
    $depth = $instance[ 'depth' ];

    // markup for form ?>
    <p>
        <label for="<?php echo $this->get_field_id( 'depth' ); ?>">Depth of list:</label>
        <input class="widefat" type="text" id="<?php echo $this->get_field_id( 'depth' ); ?>" name="<?php echo $this->get_field_name( 'depth' ); ?>" value="<?php echo esc_attr( $depth ); ?>">
    </p>

<?php
}

以上代码添加了字段标记,包括一个输入字段($depth),用来设定列表下的页面层次结构。默认值为-1,表示将会显示所有层次。

现在保存你的插件。你会发现WordPress小工具出现了一个表单:

2015-01-23_105721_wpdaxue_com

然而,如果你尝试在其中输入一些内容,它不会被保存下来。因此你需要进一步完善让这个表单能保存你所输入的内容。
允许表单更新

要做到这一点你需要处理之前创建的update函数。编码如下:




function update( $new_instance, $old_instance ) {

    $instance = $old_instance;
    $instance[ 'depth' ] = strip_tags( $new_instance[ 'depth' ] );
    return $instance;

}

上述代码用新值($new_instance)代替了depth字段的旧值($old_instance),并采用strip_tags进行消毒。现在你可以在其中进行任意的输入并保存了:

2015-01-23_105738_wpdaxue_com

Post a Comment

0 Comments