Search code examples
wordpresswidgetradio-button

Widget unsaved radio buttons


How Can I save my current "state of employment" (form function) and show it in the frontend (widget function) ?

// Create the widget output.
public function widget( $args, $instance ) {
  $title = apply_filters( 'widget_title', $instance[ 'title' ] );
  $employment = apply_filters( 'widget_title', $instance[ 'employment' ] );
  echo $args['before_widget'] . $args['before_title'] . $title . $args['after_title']; ?>
  <p>Current state of employment: <?php echo $employment ?></p>
  <?php echo $args['after_widget'];
}


// Create the admin area widget settings form.
public function form( $instance ) {
  $title = ! empty( $instance['title'] ) ? $instance['title'] : ''; 
  $employment = ! empty( $instance['employment'] ) ? $instance['employment'] : 'help'; 
  ?>
  <p>
  <label>  Current State of employment:</label><br>
  <input for="<?php echo $this->get_field_id( 'employment' ); ?>" type="radio" name="employment" value="employed"> Employed<br>
  <input for="<?php echo $this->get_field_id( 'employment' ); ?>" type="radio" name="employment" value="unemployed"> Unemployed<br>
</p>
<?php
}

Solution

  • Try this code

    <input type="radio" <?php  checked($instance[ 'employment' ] ,'employment'); ?> id="<?php echo $this->get_field_id( 'employment' ); ?>" value="employment" name="<?php echo $this->get_field_name( 'employment' ); ?>" ><br>
    
    <input type="radio" <?php  checked($instance[ 'employment' ] ,'unemployed'); ?> id="<?php echo $this->get_field_id( 'unemployed' ); ?>" value="unemployed" name="<?php echo $this->get_field_name( 'employment' ); ?>" >