2016-12-13 1 views
0

私はnewbierワードプレスとPHPです。 私の選択ウィジェットファイルに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]; と私のウィジェットコードは(function widget()) を示すが、それはnullを返しどこvar_dumpにそれを試してみてください。

ありがとうございました!

答えて

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