コード例 #1
0
 /**
  * Apply cloning logic when user saves the widget.
  *
  * @since  2.0
  * @param  array $new_instance New settings for this instance as input by the user.
  * @param  array $old_instance Old settings for this instance.
  * @param  WP_Widget $widget   The current widget instance.
  * @return array Modified settings.
  */
 public function admin_widget_update($instance, $new_instance, $old_instance, $widget)
 {
     $data = $this->get_widget_data($_POST);
     $instance['csb_clone'] = $data;
     $settings = $widget->get_settings();
     $my_id = $widget->number;
     switch (@$instance['csb_clone']['state']) {
         case 'empty':
             return $this->populate_widget($my_id, $settings, $instance, $widget);
             break;
         case 'ok':
             return $this->update_linked_widgets($my_id, $settings, $instance, $widget);
             break;
         default:
             $instance['csb_clone']['state'] = 'ok';
             return $instance;
     }
 }