检索值小部件表单选项wordpress

时间:2016-12-13 04:44:40

标签: php wordpress

我是一个新手wordpress和php。 我写了一个带有select的表单并放入我的widget文件中的function form()

但我不知道如何才能获得选项的价值。

这是我的表单html:

<label>Chose one:</label>
<select name="test">
<option value="One">Select One</option>
<option value="Two">Select Two</option>
<option value="Three">Select Three</option>
</select> 

我曾试图通过以下方式检索价值:$get_var = $POST[test]; 并尝试var_dump我的小部件代码显示的地方function widget()) 但它返回null。

请帮助我,非常感谢!

1 个答案:

答案 0 :(得分:0)

以下列格式制作表格

public function form( $instance ) {
        $title = ! empty( $instance['title'] ) ? $instance['title'] : esc_html__( 'New title', 'text_domain' );
        ?>
        <p>
        <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php esc_attr_e( 'Title:', 'text_domain' ); ?></label> 
        <input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>">
        </p>
        <?php 
    }

以下列格式将值更新为数据库

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

        return $instance;
    }

然后您可以通过以下方式获取前端的值:

public function widget( $args, $instance ) {
        echo $args['before_widget'];
        if ( ! empty( $instance['title'] ) ) {
            echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'];
        }
        echo esc_html__( 'Hello, World!', 'text_domain' );
        echo $args['after_widget'];
    }

详情请阅读:https://codex.wordpress.org/Widgets_API