Skip to content

Commit ecadb52

Browse files
committed
fixes #1529
1 parent 37ba30a commit ecadb52

File tree

2 files changed

+16
-22
lines changed

2 files changed

+16
-22
lines changed

controls/image/class-kirki-control-image.php

-2
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,6 @@ protected function content_template() {
134134
</button>
135135
</div>
136136
</div>
137-
<# value = ( 'array' === saveAs ) ? JSON.stringify( data.value ) : data.value; #>
138-
<input class="image-hidden-value" type="hidden" value='{{{ value }}}' {{{ data.link }}}>
139137
<?php
140138
}
141139
}

controls/image/image.js

+16-20
Original file line numberDiff line numberDiff line change
@@ -148,16 +148,14 @@ wp.customize.controlConstructor['kirki-image'] = wp.customize.Control.extend({
148148
* Gets the value.
149149
*/
150150
getValue: function() {
151-
152-
'use strict';
153-
154151
var control = this,
155-
input = control.container.find( '.image-hidden-value' ),
156-
value = jQuery( input ).val(),
152+
value = control.setting._value,
157153
saveAs = ( ! _.isUndefined( control.params.choices ) && ! _.isUndefined( control.params.choices.save_as ) ) ? control.params.choices.save_as : 'url';
158154

159-
if ( 'array' === saveAs ) {
160-
return JSON.parse( value );
155+
if ( 'array' === saveAs && _.isString( value ) ) {
156+
value = {
157+
url: value
158+
};
161159
}
162160
return value;
163161
},
@@ -166,22 +164,20 @@ wp.customize.controlConstructor['kirki-image'] = wp.customize.Control.extend({
166164
* Saves the value.
167165
*/
168166
saveValue: function( property, value ) {
169-
170-
'use strict';
171-
172167
var control = this,
173-
input = jQuery( '#customize-control-' + control.id.replace( '[', '-' ).replace( ']', '' ) + ' .image-hidden-value' ),
174-
valueJSON = jQuery( input ).val(),
175-
saveAs = ( ! _.isUndefined( control.params.choices ) && ! _.isUndefined( control.params.choices.save_as ) ) ? control.params.choices.save_as : 'url',
176-
valueObj = 'array' === saveAs ? JSON.parse( valueJSON ) : {};
168+
valueOld = control.setting._value,
169+
saveAs = ( ! _.isUndefined( control.params.choices ) && ! _.isUndefined( control.params.choices.save_as ) ) ? control.params.choices.save_as : 'url';
177170

178171
if ( 'array' === saveAs ) {
179-
valueObj[ property ] = value;
180-
control.setting.set( valueObj );
181-
jQuery( input ).attr( 'value', JSON.stringify( valueObj ) ).trigger( 'change' );
182-
} else {
183-
control.setting.set( value );
184-
jQuery( input ).attr( 'value', value ).trigger( 'change' );
172+
if ( _.isString( valueOld ) ) {
173+
valueOld = {};
174+
}
175+
valueOld[ property ] = value;
176+
control.setting.set( valueOld );
177+
control.container.find( 'button' ).trigger( 'change' );
178+
return;
185179
}
180+
control.setting.set( value );
181+
control.container.find( 'button' ).trigger( 'change' );
186182
}
187183
});

0 commit comments

Comments
 (0)