Advanced Custom Fields - Version 3.1.0

Version Description

  • New Field: Flexible Content Field (license required)
  • Bug Fix: ACF data now saves for draft posts (please do a hard refresh on an edit screen to remove cached js)
  • Bug fix: Fixed multiple content editors
Download this release

Release Info

Developer elliotcondon
Plugin Icon 128x128 Advanced Custom Fields
Version 3.1.0
Comparing to
See all releases

Code changes from version 3.0.7 to 3.1.0

acf.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Advanced Custom Fields
4
  Plugin URI: http://www.advancedcustomfields.com/
5
  Description: Fully customise WordPress edit screens with powerful fields. Boasting a professional interface and a powerfull API, it’s a must have for any web developer working with WordPress.Field types include: Wysiwyg, text, textarea, image, file, select, checkbox, page link, post object, date picker, color picker and more!
6
- Version: 3.0.7
7
  Author: Elliot Condon
8
  Author URI: http://www.elliotcondon.com/
9
  License: GPL
@@ -45,7 +45,7 @@ class Acf
45
  $this->dir = plugins_url('',__FILE__);
46
  $this->siteurl = get_bloginfo('url');
47
  $this->wpadminurl = admin_url();
48
- $this->version = '3.0.7';
49
  $this->upgrade_version = '3.0.0'; // this is the latest version which requires an upgrade
50
 
51
 
@@ -820,13 +820,13 @@ class Acf
820
 
821
  // do not save if this is an auto save routine
822
  if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id;
823
-
824
  // only save once! WordPress save's twice for some strange reason.
825
  global $flag;
826
  if ($flag != 0) return $post_id;
827
  $flag = 1;
828
 
829
- // set post ID if is a revision
830
  if(wp_is_post_revision($post_id))
831
  {
832
  $post_id = wp_is_post_revision($post_id);
3
  Plugin Name: Advanced Custom Fields
4
  Plugin URI: http://www.advancedcustomfields.com/
5
  Description: Fully customise WordPress edit screens with powerful fields. Boasting a professional interface and a powerfull API, it’s a must have for any web developer working with WordPress.Field types include: Wysiwyg, text, textarea, image, file, select, checkbox, page link, post object, date picker, color picker and more!
6
+ Version: 3.1.0
7
  Author: Elliot Condon
8
  Author URI: http://www.elliotcondon.com/
9
  License: GPL
45
  $this->dir = plugins_url('',__FILE__);
46
  $this->siteurl = get_bloginfo('url');
47
  $this->wpadminurl = admin_url();
48
+ $this->version = '3.1.0';
49
  $this->upgrade_version = '3.0.0'; // this is the latest version which requires an upgrade
50
 
51
 
820
 
821
  // do not save if this is an auto save routine
822
  if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id;
823
+
824
  // only save once! WordPress save's twice for some strange reason.
825
  global $flag;
826
  if ($flag != 0) return $post_id;
827
  $flag = 1;
828
 
829
+ // set post ID if is a revision
830
  if(wp_is_post_revision($post_id))
831
  {
832
  $post_id = wp_is_post_revision($post_id);
core/admin/meta_box_location.php CHANGED
@@ -302,7 +302,7 @@ if(empty($location['rules']))
302
  </tbody>
303
 
304
  </table>
305
- <p>match <?php $this->create_field(array(
306
  'type' => 'select',
307
  'name' => 'location[allorany]',
308
  'value' => $location['allorany'],
@@ -310,7 +310,7 @@ if(empty($location['rules']))
310
  'all' => 'all',
311
  'any' => 'any',
312
  ),
313
- )); ?> of the above</p>
314
  </div>
315
 
316
 
302
  </tbody>
303
 
304
  </table>
305
+ <p><?php _e("match",'acf'); ?> <?php $this->create_field(array(
306
  'type' => 'select',
307
  'name' => 'location[allorany]',
308
  'value' => $location['allorany'],
310
  'all' => 'all',
311
  'any' => 'any',
312
  ),
313
+ )); ?> <?php _e("of the above",'acf'); ?></p>
314
  </div>
315
 
316
 
core/admin/page_settings.php CHANGED
@@ -68,7 +68,7 @@ if($action == ""):
68
  </td>
69
  </tr>
70
  <!-- Flexible Field -->
71
- <?php /*<tr>
72
  <td><?php _e("Flexible Content Field",'acf'); ?></td>
73
  <td><?php echo $this->is_field_unlocked('flexible_content') ? __("Active",'acf') : __("Inactive",'acf'); ?></td>
74
  <td>
@@ -86,7 +86,7 @@ if($action == ""):
86
  } ?>
87
  </form>
88
  </td>
89
- </tr>*/ ?>
90
  <!-- Options Page -->
91
  <tr>
92
  <td><?php _e("Options Page",'acf'); ?></td>
@@ -251,29 +251,7 @@ if($action == ""):
251
  </div>
252
  </form>
253
  <!-- / Export / Import PHP -->
254
-
255
- <?php /*
256
- <br />
257
- <br />
258
- <br />
259
-
260
- <!-- Settings -->
261
- <div class="wp-box">
262
- <div class="inner">
263
- <h2>Settings</h2>
264
- </div>
265
- <div class="footer">
266
- <ul class="hl left">
267
- <li></li>
268
- </ul>
269
- <ul class="hl right">
270
- <li><input type="submit" value="Update" class="button-primary" /></li>
271
- </ul>
272
- </div>
273
- </div>
274
- <!-- Settings -->
275
- */ ?>
276
-
277
  </form>
278
 
279
  <?php
@@ -286,10 +264,10 @@ elseif($action == "export_php"):
286
 
287
  ?>
288
 
289
- <p><a href="">&laquo; Back to settings</a></p>
290
  <div class="wp-box">
291
  <div class="inner">
292
- <h2>Register Field Groups with PHP</h2>
293
  <ol>
294
  <li><?php _e("Copy the PHP code generated",'acf'); ?></li>
295
  <li><?php _e("Paste into your functions.php file",'acf'); ?></li>
@@ -314,24 +292,25 @@ elseif($action == "export_php"):
314
  if($acfs)
315
  {
316
  ?>
317
- /**
318
  * Activate Add-ons
319
  * Here you can enter your activation codes to unlock Add-ons to use in your theme.
320
  * Since all activation codes are multi-site licenses, you are allowed to include your key in premium themes.
321
  * Use the commented out code to update the database with your activation code.
322
  * You may place this code inside an IF statement that only runs on theme activation.
323
- */
324
 
325
- // update_option('acf_repeater_ac', "xxxx-xxxx-xxxx-xxxx");
326
- // update_option('acf_options_ac', "xxxx-xxxx-xxxx-xxxx");
 
327
 
328
 
329
- /**
330
  * Register field groups
331
  * The register_field_group function accepts 1 array which holds the relevant data to register a field group
332
  * You may edit the array as you see fit. However, this may result in errors if the array is not compatible with ACF
333
  * This code must run every time the functions.php file is read
334
- */
335
 
336
  if(function_exists("register_field_group"))
337
  {
@@ -353,7 +332,7 @@ if(function_exists("register_field_group"))
353
  }
354
  else
355
  {
356
- echo "No field groups were selected.";
357
  }
358
  ?></pre>
359
  </div>
68
  </td>
69
  </tr>
70
  <!-- Flexible Field -->
71
+ <tr>
72
  <td><?php _e("Flexible Content Field",'acf'); ?></td>
73
  <td><?php echo $this->is_field_unlocked('flexible_content') ? __("Active",'acf') : __("Inactive",'acf'); ?></td>
74
  <td>
86
  } ?>
87
  </form>
88
  </td>
89
+ </tr>
90
  <!-- Options Page -->
91
  <tr>
92
  <td><?php _e("Options Page",'acf'); ?></td>
251
  </div>
252
  </form>
253
  <!-- / Export / Import PHP -->
254
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
255
  </form>
256
 
257
  <?php
264
 
265
  ?>
266
 
267
+ <p><a href="">&laquo; <?php _e("Back to settings",'acf'); ?></a></p>
268
  <div class="wp-box">
269
  <div class="inner">
270
+ <h2><?php _e("Register Field Groups with PHP",'acf'); ?></h2>
271
  <ol>
272
  <li><?php _e("Copy the PHP code generated",'acf'); ?></li>
273
  <li><?php _e("Paste into your functions.php file",'acf'); ?></li>
292
  if($acfs)
293
  {
294
  ?>
295
+ <?php _e("/**
296
  * Activate Add-ons
297
  * Here you can enter your activation codes to unlock Add-ons to use in your theme.
298
  * Since all activation codes are multi-site licenses, you are allowed to include your key in premium themes.
299
  * Use the commented out code to update the database with your activation code.
300
  * You may place this code inside an IF statement that only runs on theme activation.
301
+ */",'acf'); ?>
302
 
303
+ // if(!get_option('acf_repeater_ac')) update_option('acf_repeater_ac', "xxxx-xxxx-xxxx-xxxx");
304
+ // if(!get_option('acf_options_ac')) update_option('acf_options_ac', "xxxx-xxxx-xxxx-xxxx");
305
+ // if(!get_option('acf_flexible_content_ac')) update_option('acf_flexible_content_ac', "xxxx-xxxx-xxxx-xxxx");
306
 
307
 
308
+ <?php _e("/**
309
  * Register field groups
310
  * The register_field_group function accepts 1 array which holds the relevant data to register a field group
311
  * You may edit the array as you see fit. However, this may result in errors if the array is not compatible with ACF
312
  * This code must run every time the functions.php file is read
313
+ */",'acf'); ?>
314
 
315
  if(function_exists("register_field_group"))
316
  {
332
  }
333
  else
334
  {
335
+ _e("No field groups were selected",'acf');
336
  }
337
  ?></pre>
338
  </div>
core/api.php CHANGED
@@ -289,7 +289,11 @@ function acf_register_field_group($array)
289
 
290
  // Sort the array with menu_order ascending
291
  // Add $array as the last parameter, to sort by the common key
292
- array_multisort($menu_order, SORT_ASC, $array);
 
 
 
 
293
 
294
  return $array;
295
  }
289
 
290
  // Sort the array with menu_order ascending
291
  // Add $array as the last parameter, to sort by the common key
292
+ if(isset($menu_order))
293
+ {
294
+ array_multisort($menu_order, SORT_ASC, $array);
295
+ }
296
+
297
 
298
  return $array;
299
  }
core/fields/flexible_content.php CHANGED
@@ -738,10 +738,17 @@ class acf_Flexible_content extends acf_Field
738
  *---------------------------------------------------------------------*/
739
 
740
  $('#acf_fields .acf_fc_label input[type="text"]').live('blur', function(){
741
- var input = $(this).parents('td').siblings('td.acf_fc_name').find('input[type="text"]');
742
- if(input.val() == ''){
743
- input.val($(this).val());
744
- };
 
 
 
 
 
 
 
745
  });
746
 
747
  })(jQuery);
738
  *---------------------------------------------------------------------*/
739
 
740
  $('#acf_fields .acf_fc_label input[type="text"]').live('blur', function(){
741
+
742
+ var label = $(this);
743
+ var name = $(this).parents('td').siblings('td.acf_fc_name').find('input[type="text"]');
744
+
745
+ if(name.val() == '')
746
+ {
747
+ var val = label.val().toLowerCase().split(' ').join('_').split('\'').join('');
748
+ name.val(val);
749
+ name.trigger('keyup');
750
+ }
751
+
752
  });
753
 
754
  })(jQuery);
core/fields/wysiwyg.php CHANGED
@@ -43,7 +43,7 @@ class acf_Wysiwyg extends acf_Field
43
  return 'tinymce'; // html or tinymce
44
  }
45
 
46
-
47
  /*--------------------------------------------------------------------------------------
48
  *
49
  * add_tiny_mce
@@ -141,18 +141,16 @@ class acf_Wysiwyg extends acf_Field
141
  $.fn.acf_activate_wysiwyg = function(){
142
 
143
  // tinymce must exist
144
- if(!typeof(tinyMCE) == "object")
145
  {
146
  return false;
147
  }
148
-
149
-
150
-
151
 
152
  // add tinymce to all wysiwyg fields
153
  $(this).find('.acf_wysiwyg textarea').each(function(){
154
 
155
- if(tinyMCE.settings != undefined)
156
  {
157
  // reset buttons
158
  tinyMCE.settings.theme_advanced_buttons1 = $.acf_wysiwyg_buttons.theme_advanced_buttons1;
@@ -172,29 +170,30 @@ class acf_Wysiwyg extends acf_Field
172
  }
173
  }
174
 
175
- //console.log( $(this).attr('id') + ': before: ' + tinyMCE.settings.theme_advanced_buttons1);
176
- //tinyMCE.execCommand("mceRemoveControl", false, $(this).attr('id'));
177
  tinyMCE.execCommand('mceAddControl', false, $(this).attr('id'));
178
 
179
-
180
  });
181
-
182
 
183
  };
184
 
185
 
186
  $(window).load(function(){
187
 
188
- // store variables
189
- if(tinyMCE.settings != undefined)
190
- {
191
- $.acf_wysiwyg_buttons.theme_advanced_buttons1 = tinyMCE.settings.theme_advanced_buttons1;
192
- $.acf_wysiwyg_buttons.theme_advanced_buttons2 = tinyMCE.settings.theme_advanced_buttons2;
193
-
194
- }
195
 
 
 
 
 
 
 
 
 
 
 
 
196
 
197
- $('#poststuff').acf_activate_wysiwyg();
198
 
199
  });
200
 
@@ -227,23 +226,6 @@ class acf_Wysiwyg extends acf_Field
227
 
228
  })(jQuery);
229
  </script>
230
- <style type="text/css">
231
- .acf_wysiwyg iframe{
232
- min-height: 250px;
233
- }
234
-
235
- #post-body .acf_wysiwyg .wp_themeSkin .mceStatusbar a.mceResize {
236
- top: -2px !important;
237
- }
238
-
239
- .acf_wysiwyg .editor-toolbar {
240
- display: none;
241
- }
242
-
243
- .acf_wysiwyg #editorcontainer {
244
- background: #fff;
245
- }
246
- </style>
247
  <?php
248
  }
249
 
@@ -351,7 +333,7 @@ class acf_Wysiwyg extends acf_Field
351
  <?php endif; ?>
352
  <?php endif; ?>
353
  <div id="editorcontainer" class="wp-editor-container">
354
- <textarea id="<?php echo $field['name']; ?>" name="<?php echo $field['name']; ?>" ><?php echo wp_richedit_pre($field['value']); ?></textarea>
355
  </div>
356
  </div>
357
  <?php
43
  return 'tinymce'; // html or tinymce
44
  }
45
 
46
+
47
  /*--------------------------------------------------------------------------------------
48
  *
49
  * add_tiny_mce
141
  $.fn.acf_activate_wysiwyg = function(){
142
 
143
  // tinymce must exist
144
+ if(typeof(tinyMCE) != "object")
145
  {
146
  return false;
147
  }
148
+
 
 
149
 
150
  // add tinymce to all wysiwyg fields
151
  $(this).find('.acf_wysiwyg textarea').each(function(){
152
 
153
+ if(tinyMCE != undefined && tinyMCE.settings != undefined)
154
  {
155
  // reset buttons
156
  tinyMCE.settings.theme_advanced_buttons1 = $.acf_wysiwyg_buttons.theme_advanced_buttons1;
170
  }
171
  }
172
 
 
 
173
  tinyMCE.execCommand('mceAddControl', false, $(this).attr('id'));
174
 
 
175
  });
 
176
 
177
  };
178
 
179
 
180
  $(window).load(function(){
181
 
182
+ // timout seems to fix duplicate editors
183
+ setTimeout(function(){
 
 
 
 
 
184
 
185
+ // store variables
186
+ if(tinyMCE != undefined && tinyMCE.settings != undefined)
187
+ {
188
+ $.acf_wysiwyg_buttons.theme_advanced_buttons1 = tinyMCE.settings.theme_advanced_buttons1;
189
+ $.acf_wysiwyg_buttons.theme_advanced_buttons2 = tinyMCE.settings.theme_advanced_buttons2;
190
+
191
+ }
192
+
193
+ $('#poststuff').acf_activate_wysiwyg();
194
+
195
+ }, 10);
196
 
 
197
 
198
  });
199
 
226
 
227
  })(jQuery);
228
  </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
  <?php
230
  }
231
 
333
  <?php endif; ?>
334
  <?php endif; ?>
335
  <div id="editorcontainer" class="wp-editor-container">
336
+ <textarea id="<?php echo $id; ?>" name="<?php echo $field['name']; ?>" ><?php echo wp_richedit_pre($field['value']); ?></textarea>
337
  </div>
338
  </div>
339
  <?php
css/fields.css CHANGED
@@ -289,7 +289,7 @@ table.widefat.acf td {
289
 
290
  .field_options .field_option table {
291
  border: #CCCCCC solid 1px;
292
- -moz-border-radius: 5px; -webkit-border-radius: 5px; -khtml-border-radius: 5px; border-radius: 5px;
293
  }
294
 
295
 
@@ -319,18 +319,19 @@ table.acf_input tr td .acf tr td {
319
  Field Form
320
  ---------------------------------------------------------------------------------------------*/
321
  .field_form {
322
- border: #98b6cb solid 1px;
323
  border-top: 0 none;
324
- background: #accde4;
325
  padding: 10px;
326
  clear: both;
327
  vertical-align: top;
328
  }
329
 
330
  .field_form table.acf_input {
331
- border: #98b6cb solid 1px;
332
  position: relative;
333
  overflow: hidden;
 
334
  }
335
 
336
  .field_form table.acf_input tr.field_label td {
289
 
290
  .field_options .field_option table {
291
  border: #CCCCCC solid 1px;
292
+ border-radius: 5px;
293
  }
294
 
295
 
319
  Field Form
320
  ---------------------------------------------------------------------------------------------*/
321
  .field_form {
322
+ border: #7390a5 solid 1px;
323
  border-top: 0 none;
324
+ background: #91bbd9;
325
  padding: 10px;
326
  clear: both;
327
  vertical-align: top;
328
  }
329
 
330
  .field_form table.acf_input {
331
+ border: #7390a5 solid 1px;
332
  position: relative;
333
  overflow: hidden;
334
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
335
  }
336
 
337
  .field_form table.acf_input tr.field_label td {
css/input.css CHANGED
@@ -79,6 +79,21 @@
79
  margin-top: 2px !important;
80
  }
81
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
 
83
 
84
  /*---------------------------------------------------------------------------------------------
@@ -555,18 +570,26 @@ ul.checkbox_list {
555
  right: 0;
556
  background: #464646;
557
  border-radius: 5px;
558
- box-shadow: rgba(0,0,0,0.25) 0 0 13px;
559
  margin-bottom: 25px;
560
  margin-right: -5px;
561
  display: none;
562
  }
563
 
 
 
 
 
 
 
 
 
564
  .acf_popup .bit {
565
  position: absolute;
566
  width: 56px;
567
  height: 25px;
568
  right: 17px;
569
- margin-bottom: -25px;
570
  background: url(../images/popup-bit.png);
571
  }
572
 
@@ -578,21 +601,26 @@ ul.checkbox_list {
578
 
579
  .acf_popup ul li {
580
  display: block;
581
- margin: 0;
 
582
  padding: 0;
583
  }
584
 
 
 
 
 
585
  .acf_popup ul li a {
586
  color: #cccccc;
587
  font-size: 12px;
588
  line-height: 14px;
589
  padding: 7px 11px;
590
  display: block;
591
- border: 1px solid transparent;
592
- border-bottom: 1px solid #333333;
593
- border-top: 1px solid #555555;
594
  text-decoration: none;
595
  min-width: 100px;
 
596
  }
597
 
598
  .acf_popup ul li:first-child a {
@@ -601,22 +629,22 @@ ul.checkbox_list {
601
 
602
  .acf_popup ul li:last-child a {
603
  border-radius: 0 0 5px 5px;
604
- border-bottom-color: transparent;
605
  }
606
 
607
  .acf_popup ul li:only-child a {
608
  border-radius: 5px 5px 5px 5px;
609
- border-bottom-color: transparent;
610
  }
611
 
612
  .acf_popup ul li a:hover {
613
  background: #2b8ab8;
614
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2b8ab8', endColorstr='#227096'); /* for IE */
615
- background: -webkit-gradient(linear, left top, left bottom, from(#2b8ab8), to(#227096)); /* for webkit browsers */
616
- background: -moz-linear-gradient(top, #2b8ab8, #227096); /* for firefox 3.6+ */
617
- border: 1px solid #227096 !important;
 
618
  color: #FFFFFF;
619
- text-shadow: 0 1px 0 #227096;
 
620
  }
621
 
622
  .acf_flexible_content .no_value_message {
79
  margin-top: 2px !important;
80
  }
81
 
82
+ .acf_wysiwyg iframe{
83
+ min-height: 250px;
84
+ }
85
+
86
+ #post-body .acf_wysiwyg .wp_themeSkin .mceStatusbar a.mceResize {
87
+ top: -2px !important;
88
+ }
89
+
90
+ .acf_wysiwyg .editor-toolbar {
91
+ display: none;
92
+ }
93
+
94
+ .acf_wysiwyg #editorcontainer {
95
+ background: #fff;
96
+ }
97
 
98
 
99
  /*---------------------------------------------------------------------------------------------
570
  right: 0;
571
  background: #464646;
572
  border-radius: 5px;
573
+ box-shadow: rgba(0,0,0,0.4) 0 0 13px;
574
  margin-bottom: 25px;
575
  margin-right: -5px;
576
  display: none;
577
  }
578
 
579
+ .has-right-sidebar .acf_popup {
580
+ margin-right: -17px;
581
+ }
582
+
583
+ .has-right-sidebar .acf_popup .bit {
584
+ right: 31px;
585
+ }
586
+
587
  .acf_popup .bit {
588
  position: absolute;
589
  width: 56px;
590
  height: 25px;
591
  right: 17px;
592
+ margin: -1px 0 0;
593
  background: url(../images/popup-bit.png);
594
  }
595
 
601
 
602
  .acf_popup ul li {
603
  display: block;
604
+ position: relative;
605
+ margin: -1px 0 0;
606
  padding: 0;
607
  }
608
 
609
+ .acf_popup ul li:first-child {
610
+ margin: 0;
611
+ }
612
+
613
  .acf_popup ul li a {
614
  color: #cccccc;
615
  font-size: 12px;
616
  line-height: 14px;
617
  padding: 7px 11px;
618
  display: block;
619
+ border: 1px solid #333333;
620
+ box-shadow: inset 0 1px 0 #555555;
 
621
  text-decoration: none;
622
  min-width: 100px;
623
+ text-shadow: 0 1px 0 #222222;
624
  }
625
 
626
  .acf_popup ul li:first-child a {
629
 
630
  .acf_popup ul li:last-child a {
631
  border-radius: 0 0 5px 5px;
 
632
  }
633
 
634
  .acf_popup ul li:only-child a {
635
  border-radius: 5px 5px 5px 5px;
 
636
  }
637
 
638
  .acf_popup ul li a:hover {
639
  background: #2b8ab8;
640
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3da0d1', endColorstr='#1f81b2'); /* for IE */
641
+ background: -webkit-gradient(linear, left top, left bottom, from(#3da0d1), to(#1f81b2)); /* for webkit browsers */
642
+ background: -moz-linear-gradient(top, #3da0d1, #1f81b2); /* for firefox 3.6+ */
643
+ border: 1px solid #195572 !important;
644
+ box-shadow: inset 0 1px 0 #54b5e5;
645
  color: #FFFFFF;
646
+ text-shadow: 0 1px 0 #082e40;
647
+ cursor: pointer;
648
  }
649
 
650
  .acf_flexible_content .no_value_message {
js/input.js CHANGED
@@ -117,14 +117,7 @@
117
  });*/
118
 
119
 
120
- // on save, delete all unused metaboxes
121
- $('input#publish').click(function(){
122
-
123
- // do validation?
124
- $('#post-body .acf_postbox:hidden').remove();
125
-
126
- return true;
127
- });
128
 
129
  /*--------------------------------------------------------------------------------------
130
  *
@@ -194,5 +187,15 @@
194
  });
195
 
196
 
 
 
 
 
 
 
 
 
 
 
197
 
198
  })(jQuery);
117
  });*/
118
 
119
 
120
+
 
 
 
 
 
 
 
121
 
122
  /*--------------------------------------------------------------------------------------
123
  *
187
  });
188
 
189
 
190
+ // on save, delete all unused metaboxes
191
+ $('input#save-post, input#publish').live("click", function(){
192
+
193
+ // do validation?
194
+ $('#post-body .acf_postbox:hidden').remove();
195
+
196
+
197
+ return true;
198
+ });
199
+
200
 
201
  })(jQuery);
readme.txt CHANGED
@@ -88,6 +88,11 @@ http://www.advancedcustomfields.com/support/
88
 
89
  == Changelog ==
90
 
 
 
 
 
 
91
  = 3.0.7 =
92
  * Added export / register support via PHP
93
  * Moved menu position under Settings
88
 
89
  == Changelog ==
90
 
91
+ = 3.1.0 =
92
+ * New Field: Flexible Content Field (license required)
93
+ * Bug Fix: ACF data now saves for draft posts (please do a hard refresh on an edit screen to remove cached js)
94
+ * Bug fix: Fixed multiple content editors
95
+
96
  = 3.0.7 =
97
  * Added export / register support via PHP
98
  * Moved menu position under Settings