Bootstrap for Contact Form 7 - Version 1.1.0

Version Description

  • Added: new attribute 'align' can be added to the submit button
  • Enhanced: submit button now positioned properly according to form layout
  • Fixed: select and radio/checkbox options now use the main plugin's get_data_option method
Download this release

Release Info

Developer flixos90
Plugin Icon 128x128 Bootstrap for Contact Form 7
Version 1.1.0
Comparing to
See all releases

Code changes from version 1.0.0 to 1.1.0

assets/scripts.min.js CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap for Contact Form 7 Scripts - Version 1.0.0
3
  *
4
  * Modifications and Additions to WPCF7 Scripts to work with CF7BS
5
  * Felix Arntz <felix-arntz@leaves-and-love.net>
1
  /*!
2
+ * Bootstrap for Contact Form 7 Scripts - Version 1.1.0
3
  *
4
  * Modifications and Additions to WPCF7 Scripts to work with CF7BS
5
  * Felix Arntz <felix-arntz@leaves-and-love.net>
bootstrap-for-contact-form-7.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Bootstrap for Contact Form 7
4
  Plugin URI: http://wordpress.org/plugins/bootstrap-for-contact-form-7/
5
  Description: This plugin modifies the output of the popular Contact Form 7 plugin to be styled in compliance with themes using the Bootstrap CSS framework.
6
- Version: 1.0.0
7
  Author: Felix Arntz
8
  Author URI: http://leaves-and-love.net
9
  License: GNU General Public License v2
@@ -11,11 +11,11 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
  */
12
  /**
13
  * @package CF7BS
14
- * @version 1.0.0
15
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
16
  */
17
 
18
- define( 'CF7BS_VERSION', '1.0.0' );
19
  define( 'CF7BS_MAINFILE', __FILE__ );
20
  define( 'CF7BS_PATH', untrailingslashit( plugin_dir_path( CF7BS_MAINFILE ) ) );
21
  define( 'CF7BS_URL', untrailingslashit( plugin_dir_url( CF7BS_MAINFILE ) ) );
3
  Plugin Name: Bootstrap for Contact Form 7
4
  Plugin URI: http://wordpress.org/plugins/bootstrap-for-contact-form-7/
5
  Description: This plugin modifies the output of the popular Contact Form 7 plugin to be styled in compliance with themes using the Bootstrap CSS framework.
6
+ Version: 1.1.0
7
  Author: Felix Arntz
8
  Author URI: http://leaves-and-love.net
9
  License: GNU General Public License v2
11
  */
12
  /**
13
  * @package CF7BS
14
+ * @version 1.1.0
15
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
16
  */
17
 
18
+ define( 'CF7BS_VERSION', '1.1.0' );
19
  define( 'CF7BS_MAINFILE', __FILE__ );
20
  define( 'CF7BS_PATH', untrailingslashit( plugin_dir_path( CF7BS_MAINFILE ) ) );
21
  define( 'CF7BS_URL', untrailingslashit( plugin_dir_url( CF7BS_MAINFILE ) ) );
classes/CF7BS_Alert.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
classes/CF7BS_Button.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
@@ -56,6 +56,25 @@ class CF7BS_Button extends CF7BS_Component
56
  }
57
  else
58
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  if( is_int( $tabindex ) )
60
  {
61
  $tabindex = ' tabindex="' . $tabindex . '"';
@@ -64,7 +83,9 @@ class CF7BS_Button extends CF7BS_Component
64
  {
65
  $tabindex = '';
66
  }
 
67
  $output .= '<input class="' . esc_attr( $class ) . '"' . $id . $name . ' type="submit" value="' . esc_attr( $title ) . '"' . $tabindex . '>';
 
68
  }
69
  }
70
 
@@ -78,7 +99,18 @@ class CF7BS_Button extends CF7BS_Component
78
  protected function validate_args( $args, $exclude = array() )
79
  {
80
  $exclude[] = 'tabindex';
 
81
  $args = parent::validate_args( $args, $exclude );
 
 
 
 
 
 
 
 
 
 
82
 
83
  // type whitelist check is made later in the display() function to allow different types to use in a filter
84
 
@@ -88,16 +120,20 @@ class CF7BS_Button extends CF7BS_Component
88
  protected function get_defaults()
89
  {
90
  $defaults = array(
91
- 'type' => 'default',
92
- 'size' => 'default', // default, large, small, mini
93
- 'mode' => 'submit', // checkbox, radio, submit
94
- 'id' => '',
95
- 'class' => '',
96
- 'title' => 'Button Title',
97
- 'name' => '',
98
- 'append' => '', // for checkbox/radio only
99
- 'value' => '', // for checkbox/radio only
100
- 'tabindex' => false,
 
 
 
 
101
  );
102
  return apply_filters( 'cf7bs_bootstrap_button_defaults', $defaults );
103
  }
@@ -121,4 +157,17 @@ class CF7BS_Button extends CF7BS_Component
121
  }
122
  return $type;
123
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  }
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
56
  }
57
  else
58
  {
59
+ $wrapper_class = array();
60
+
61
+ if( $align && $form_layout != 'inline' )
62
+ {
63
+ $wrapper_class[] = 'text-' . $align;
64
+ }
65
+
66
+ if( $form_layout == 'horizontal' )
67
+ {
68
+ $wrapper_class[] = $this->get_column_class( $form_label_width, $form_breakpoint );
69
+ }
70
+
71
+ $wrapper_class = implode( ' ', $wrapper_class );
72
+
73
+ if( !empty( $wrapper_class ) )
74
+ {
75
+ $wrapper_class = ' class="' . $wrapper_class . '"';
76
+ }
77
+
78
  if( is_int( $tabindex ) )
79
  {
80
  $tabindex = ' tabindex="' . $tabindex . '"';
83
  {
84
  $tabindex = '';
85
  }
86
+ $output .= '<div class="form-group"><div' . $wrapper_class . '>';
87
  $output .= '<input class="' . esc_attr( $class ) . '"' . $id . $name . ' type="submit" value="' . esc_attr( $title ) . '"' . $tabindex . '>';
88
+ $output .= '</div></div>';
89
  }
90
  }
91
 
99
  protected function validate_args( $args, $exclude = array() )
100
  {
101
  $exclude[] = 'tabindex';
102
+ $exclude[] = 'align';
103
  $args = parent::validate_args( $args, $exclude );
104
+
105
+ if( is_string( $args['align'] ) )
106
+ {
107
+ $args['align'] = strtolower( $args['align'] );
108
+ }
109
+
110
+ if( !in_array( $args['align'], array( 'left', 'center', 'right' ) ) )
111
+ {
112
+ $args['align'] = false;
113
+ }
114
 
115
  // type whitelist check is made later in the display() function to allow different types to use in a filter
116
 
120
  protected function get_defaults()
121
  {
122
  $defaults = array(
123
+ 'type' => 'default',
124
+ 'size' => 'default', // default, large, small, mini
125
+ 'mode' => 'submit', // checkbox, radio, submit
126
+ 'id' => '',
127
+ 'class' => '',
128
+ 'title' => 'Button Title',
129
+ 'name' => '',
130
+ 'append' => '', // for checkbox/radio only
131
+ 'value' => '', // for checkbox/radio only
132
+ 'tabindex' => false,
133
+ 'align' => false,
134
+ 'form_layout' => 'default', // default, inline, horizontal
135
+ 'form_label_width' => 2,
136
+ 'form_breakpoint' => 'sm',
137
  );
138
  return apply_filters( 'cf7bs_bootstrap_button_defaults', $defaults );
139
  }
157
  }
158
  return $type;
159
  }
160
+
161
+ private function get_column_class( $label_column_width = 2, $breakpoint = 'sm' )
162
+ {
163
+ if( $label_column_width > 11 || $label_column_width < 1 )
164
+ {
165
+ $label_column_width = 2;
166
+ }
167
+ if( !in_array( $breakpoint, array( 'xs', 'sm', 'md', 'lg' ) ) )
168
+ {
169
+ $breakpoint = 'sm';
170
+ }
171
+ return 'col-' . $breakpoint . '-' . ( 12 - $label_column_width ) . ' col-' . $breakpoint . '-offset-' . $label_column_width;
172
+ }
173
  }
classes/CF7BS_Button_Group.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
classes/CF7BS_Component.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
classes/CF7BS_Form_Field.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
composer.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "name": "felixarntz/bootstrap-for-contact-form-7",
3
  "description": "This plugin modifies the output of the popular Contact Form 7 plugin to be styled in compliance with themes using the Bootstrap CSS framework.",
4
- "version": "1.0.0",
5
  "license": "GPL-2.0",
6
  "type": "wordpress-plugin",
7
  "keywords": [
1
  {
2
  "name": "felixarntz/bootstrap-for-contact-form-7",
3
  "description": "This plugin modifies the output of the popular Contact Form 7 plugin to be styled in compliance with themes using the Bootstrap CSS framework.",
4
+ "version": "1.1.0",
5
  "license": "GPL-2.0",
6
  "type": "wordpress-plugin",
7
  "keywords": [
modifications.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
modules/acceptance.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
modules/captcha.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
modules/checkbox.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
@@ -59,6 +59,23 @@ function cf7bs_checkbox_shortcode_handler( $tag )
59
  $mode = 'required';
60
  }
61
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  $defaults = array();
63
  if( $matches = $tag->get_first_match_option( '/^default:([0-9_]+)$/' ) )
64
  {
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
59
  $mode = 'required';
60
  }
61
 
62
+ $values = (array) $tag->values;
63
+ $labels = (array) $tag->labels;
64
+
65
+ if( $data = (array) $tag->get_data_option() )
66
+ {
67
+ if( $free_text )
68
+ {
69
+ $values = array_merge( array_slice( $values, 0, -1 ), array_values( $data ), array_slice( $values, -1 ) );
70
+ $labels = array_merge( array_slice( $labels, 0, -1 ), array_values( $data ), array_slice( $labels, -1 ) );
71
+ }
72
+ else
73
+ {
74
+ $values = array_merge( $values, array_values( $data ) );
75
+ $labels = array_merge( $labels, array_values( $data ) );
76
+ }
77
+ }
78
+
79
  $defaults = array();
80
  if( $matches = $tag->get_first_match_option( '/^default:([0-9_]+)$/' ) )
81
  {
modules/date.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
modules/file.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
modules/number.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
modules/quiz.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
modules/select.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
@@ -53,6 +53,12 @@ function cf7bs_select_shortcode_handler( $tag )
53
  $values = $tag->values;
54
  $labels = $tag->labels;
55
 
 
 
 
 
 
 
56
  $empty_select = empty( $values );
57
 
58
  if( $empty_select || $include_blank )
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
53
  $values = $tag->values;
54
  $labels = $tag->labels;
55
 
56
+ if( $data = (array) $tag->get_data_option() )
57
+ {
58
+ $values = array_merge( $values, array_values( $data ) );
59
+ $labels = array_merge( $labels, array_values( $data ) );
60
+ }
61
+
62
  $empty_select = empty( $values );
63
 
64
  if( $empty_select || $include_blank )
modules/submit.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
@@ -33,6 +33,10 @@ function cf7bs_submit_shortcode_handler( $tag )
33
  'type' => cf7bs_get_form_property( 'submit_type' ),
34
  'size' => cf7bs_get_form_property( 'size' ),
35
  'tabindex' => $tag->get_option( 'tabindex', 'int', true ),
 
 
 
 
36
  ) );
37
 
38
  $html = $button->display( false );
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
33
  'type' => cf7bs_get_form_property( 'submit_type' ),
34
  'size' => cf7bs_get_form_property( 'size' ),
35
  'tabindex' => $tag->get_option( 'tabindex', 'int', true ),
36
+ 'align' => $tag->get_option( 'align', '[A-Za-z]+', true ),
37
+ 'form_layout' => cf7bs_get_form_property( 'layout' ),
38
+ 'form_label_width' => cf7bs_get_form_property( 'label_width' ),
39
+ 'form_breakpoint' => cf7bs_get_form_property( 'breakpoint' ),
40
  ) );
41
 
42
  $html = $button->display( false );
modules/text.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
modules/textarea.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @package CF7BS
4
- * @version 1.0.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
1
  <?php
2
  /**
3
  * @package CF7BS
4
+ * @version 1.1.0
5
  * @author Felix Arntz <felix-arntz@leaves-and-love.net>
6
  */
7
 
package.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "name": "bootstrap-for-contact-form-7",
3
  "pluginName": "Bootstrap for Contact Form 7",
4
- "version": "1.0.0",
5
  "description": "This plugin modifies the output of the popular Contact Form 7 plugin to be styled in compliance with themes using the Bootstrap CSS framework.",
6
  "keywords": [
7
  "wordpress", "plugin", "contact form 7", "wpcf7", "bootstrap", "bootstrap 3", "bootstrap framework", "addon", "contact form 7 addon", "contact form", "cf7bs", "css"
1
  {
2
  "name": "bootstrap-for-contact-form-7",
3
  "pluginName": "Bootstrap for Contact Form 7",
4
+ "version": "1.1.0",
5
  "description": "This plugin modifies the output of the popular Contact Form 7 plugin to be styled in compliance with themes using the Bootstrap CSS framework.",
6
  "keywords": [
7
  "wordpress", "plugin", "contact form 7", "wpcf7", "bootstrap", "bootstrap 3", "bootstrap framework", "addon", "contact form 7 addon", "contact form", "cf7bs", "css"
readme.txt CHANGED
@@ -7,9 +7,9 @@ Author: Felix Arntz
7
  Donate link: http://leaves-and-love.net/wordpress-plugins/
8
  Contributors: flixos90
9
  Requires at least: 3.6
10
- Tested up to: 4.1
11
- Stable tag: 1.0.0
12
- Version: 1.0.0
13
  License: GPL v2
14
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
15
  Tags: contact form 7, wpcf7, bootstrap, bootstrap 3, bootstrap framework, addon, css framework, contact form 7 addon, contact form, cf7bs, css
@@ -26,9 +26,9 @@ Bootstrap for Contact Form 7 modifies all the output of the popular [Contact For
26
 
27
  Bootstrap for Contact Form 7 does not provide additional options itself, so you can continue using Contact Form 7 (almost) the same way you did before.
28
 
29
- The plugin will not break your form's appearance, however it is recommended to adjust the contact form shortcodes to achieve perfect results: The most important thing you need to know is that form field labels are now integrated in the field shortcodes, so you don't need to wrap them into paragraphs when editing the form shortcode. If you want to use a label for a specific field, you should instead make the shortcode enclosing (by default, all Contact Form 7 shortcodes are self-closing) and put the label in between.
30
 
31
- Generally, you should not be using HTML tags any longer to wrap the field shortcodes. The new shortcodes are automatically printed out with wrapping div elements, so an additional wrapper is neither necessary nor recommended. Of course you can still use HTML code to separate parts of your form, for example using the fieldset tag.
32
 
33
  An additional feature of this plugin is the possibility to predefine field values for your forms using GET parameters which allows you to bring an improved user experience to your visitors by creating custom links. Simply use the field name as the parameter key and the desired value as value. This works with checkboxes, date fields, number fields, select fields, text fields and text areas. To create such a URL, you need to use the plugin function `cf7bs_add_get_parameter()` where you provide parameters similarly to the WordPress Core function [add_query_arg](https://codex.wordpress.org/Function_Reference/add_query_arg).
34
 
@@ -89,6 +89,11 @@ If you're a developer and you have some ideas to improve the plugin or to solve
89
 
90
  == Changelog ==
91
 
 
 
 
 
 
92
  = 1.0.0 =
93
  * First stable version
94
 
7
  Donate link: http://leaves-and-love.net/wordpress-plugins/
8
  Contributors: flixos90
9
  Requires at least: 3.6
10
+ Tested up to: 4.2
11
+ Stable tag: 1.1.0
12
+ Version: 1.1.0
13
  License: GPL v2
14
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
15
  Tags: contact form 7, wpcf7, bootstrap, bootstrap 3, bootstrap framework, addon, css framework, contact form 7 addon, contact form, cf7bs, css
26
 
27
  Bootstrap for Contact Form 7 does not provide additional options itself, so you can continue using Contact Form 7 (almost) the same way you did before.
28
 
29
+ The plugin will not break your form's appearance, however it is recommended to adjust the contact form shortcodes to achieve perfect results: The most important thing you need to know is that form field labels are now integrated in the field shortcodes, so you don't need to wrap them into paragraphs when editing the form shortcode. If you want to use a label for a specific field, you should instead make the shortcode enclosing (by default, all Contact Form 7 shortcodes are self-closing) and put the label in between. Make sure that, if your field should be required, you add the asterisk to the closing tag as well.
30
 
31
+ Generally, you should not be using HTML tags any longer to wrap the field shortcodes. The new shortcodes are automatically printed out with wrapping div elements, so an additional wrapper is neither necessary nor recommended. As of version 1.1 of this plugin, the submit button is also automatically positioned according to the form layout. You can specify its alignment using a new 'align' attribute, for example `align:right`. Of course you can still use HTML code to separate parts of your form, for example using the fieldset tag.
32
 
33
  An additional feature of this plugin is the possibility to predefine field values for your forms using GET parameters which allows you to bring an improved user experience to your visitors by creating custom links. Simply use the field name as the parameter key and the desired value as value. This works with checkboxes, date fields, number fields, select fields, text fields and text areas. To create such a URL, you need to use the plugin function `cf7bs_add_get_parameter()` where you provide parameters similarly to the WordPress Core function [add_query_arg](https://codex.wordpress.org/Function_Reference/add_query_arg).
34
 
89
 
90
  == Changelog ==
91
 
92
+ = 1.1.0 =
93
+ * Added: new attribute 'align' can be added to the submit button
94
+ * Enhanced: submit button now positioned properly according to form layout
95
+ * Fixed: select and radio/checkbox options now use the main plugin's `get_data_option` method
96
+
97
  = 1.0.0 =
98
  * First stable version
99