@@ -840,10 +840,36 @@ public function validate_options( array $plugin_options ) {
840
840
}
841
841
842
842
foreach ( $ core ->sections [ $ plugin_options ['redux-section ' ] ]['fields ' ] as $ field ) {
843
- if ( isset ( $ core ->options_defaults [ $ field ['id ' ] ] ) ) {
844
- $ plugin_options [ $ field ['id ' ] ] = $ core ->options_defaults [ $ field ['id ' ] ];
843
+ if ( 'tabbed ' === $ field ['type ' ] ) {
844
+ if ( ! empty ( $ field ['tabs ' ] ) ) {
845
+ foreach ( $ field ['tabs ' ] as $ val ) {
846
+ if ( ! empty ( $ val ['fields ' ] ) ) {
847
+ foreach ( $ val ['fields ' ] as $ f ) {
848
+ if ( isset ( $ core ->options_defaults [ $ f ['id ' ] ] ) ) {
849
+ $ plugin_options [ $ f ['id ' ] ] = $ core ->options_defaults [ $ f ['id ' ] ];
850
+ } else {
851
+ $ plugin_options [ $ f ['id ' ] ] = '' ;
852
+ }
853
+ }
854
+ }
855
+ }
856
+ }
857
+ } elseif ( 'repeater ' === $ field ['type ' ] ) {
858
+ if ( ! empty ( $ field ['fields ' ] ) ) {
859
+ foreach ( $ field ['fields ' ] as $ f ) {
860
+ if ( isset ( $ core ->options_defaults [ $ f ['id ' ] ] ) ) {
861
+ $ plugin_options [ $ f ['id ' ] ] = $ core ->options_defaults [ $ f ['id ' ] ];
862
+ } else {
863
+ $ plugin_options [ $ f ['id ' ] ] = '' ;
864
+ }
865
+ }
866
+ }
845
867
} else {
846
- $ plugin_options [ $ field ['id ' ] ] = '' ;
868
+ if ( isset ( $ core ->options_defaults [ $ field ['id ' ] ] ) ) {
869
+ $ plugin_options [ $ field ['id ' ] ] = $ core ->options_defaults [ $ field ['id ' ] ];
870
+ } else {
871
+ $ plugin_options [ $ field ['id ' ] ] = '' ;
872
+ }
847
873
}
848
874
849
875
if ( isset ( $ field ['compiler ' ] ) ) {
@@ -862,6 +888,7 @@ public function validate_options( array $plugin_options ) {
862
888
}
863
889
864
890
$ core ->transients ['changed_values ' ] = array ();
891
+
865
892
foreach ( $ core ->options as $ key => $ value ) {
866
893
if ( isset ( $ plugin_options [ $ key ] ) && $ plugin_options [ $ key ] !== $ value ) {
867
894
$ core ->transients ['changed_values ' ][ $ key ] = $ value ;
0 commit comments