我是一个新手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。
请帮助我,非常感谢!
答案 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'];
}