@@ -67,7 +67,7 @@ public function render_meta_box_content( $post, $callback ) {
6767 $ sections = $ callback ['args ' ]['sections ' ];
6868 $ meta_value = get_post_meta ( $ post ->ID , $ unique , true );
6969 $ transient = get_transient ( 'cs-metabox-transient ' );
70- $ cs_errors = $ transient ['errors ' ];
70+ // $cs_errors = $transient['errors'];
7171 $ has_nav = ( count ( $ sections ) >= 2 && $ callback ['args ' ]['context ' ] != 'side ' ) ? true : false ;
7272 $ show_all = ( ! $ has_nav ) ? ' cs-show-all ' : '' ;
7373 $ section_id = ( ! empty ( $ transient ['ids ' ][$ unique ] ) ) ? $ transient ['ids ' ][$ unique ] : '' ;
@@ -125,7 +125,11 @@ public function render_meta_box_content( $post, $callback ) {
125125
126126 $ default = ( isset ( $ field ['default ' ] ) ) ? $ field ['default ' ] : '' ;
127127 $ elem_id = ( isset ( $ field ['id ' ] ) ) ? $ field ['id ' ] : '' ;
128- $ elem_value = ( is_array ( $ meta_value ) && isset ( $ meta_value [$ elem_id ] ) ) ? $ meta_value [$ elem_id ] : $ default ;
128+ if ($ callback ['args ' ]['data_type ' ] !== 'serialize ' ) {//iotheme.cn
129+ $ elem_value = get_term_meta ($ post ->ID , $ elem_id ,true );
130+ }else {
131+ $ elem_value = ( is_array ( $ meta_value ) && isset ( $ meta_value [$ elem_id ] ) ) ? $ meta_value [$ elem_id ] : $ default ;
132+ }//iotheme.cn
129133 echo cs_add_element ( $ field , $ elem_value , $ unique );
130134
131135 }
@@ -199,11 +203,15 @@ public function save_post( $post_id, $post ) {
199203
200204 if ( ! empty ( $ validate ) ) {
201205
202- $ meta_value = get_post_meta ( $ post_id , $ request_key , true );
203-
204206 $ errors [$ field ['id ' ]] = array ( 'code ' => $ field ['id ' ], 'message ' => $ validate , 'type ' => 'error ' );
205207 $ default_value = isset ( $ field ['default ' ] ) ? $ field ['default ' ] : '' ;
206- $ request [$ field ['id ' ]] = ( isset ( $ meta_value [$ field ['id ' ]] ) ) ? $ meta_value [$ field ['id ' ]] : $ default_value ;
208+ if ($ request_value ['data_type ' ] !== 'serialize ' ) {//iotheme.cn
209+ if ($ meta_value = get_post_meta ($ post_id , $ field ['id ' ],true ))
210+ $ request [$ field ['id ' ]] = $ meta_value ;
211+ }else {
212+ $ meta_value = get_post_meta ( $ post_id , $ request_key , true );
213+ $ request [$ field ['id ' ]] = ( isset ( $ meta_value [$ field ['id ' ]] ) ) ? $ meta_value [$ field ['id ' ]] : $ default_value ;
214+ }//iotheme.cn
207215
208216 }
209217
@@ -219,15 +227,36 @@ public function save_post( $post_id, $post ) {
219227
220228 $ request = apply_filters ( 'cs_save_post ' , $ request , $ request_key , $ post );
221229
222- if ( empty ( $ request ) ) {
230+ // if( empty( $request ) ) {
223231
224- delete_post_meta ( $ post_id , $ request_key );
232+ // delete_post_meta( $post_id, $request_key );
225233
226- } else {
234+ // } else {
227235
228- update_post_meta ( $ post_id , $ request_key , $ request );
236+ // update_post_meta( $post_id, $request_key, $request );
229237
230- }
238+ //}
239+ if ( empty ( $ request ) ) {//iotheme.cn
240+
241+ if ( $ request_value ['data_type ' ] !== 'serialize ' ) {
242+ foreach ( $ request as $ key => $ value ) {
243+ delete_post_meta ( $ post_id , $ key );
244+ }
245+ } else {
246+ delete_post_meta ( $ post_id , $ request_key );
247+ }
248+
249+ } else {
250+
251+ if ( $ request_value ['data_type ' ] !== 'serialize ' ) {
252+ foreach ( $ request as $ key => $ value ) {
253+ update_post_meta ( $ post_id , $ key , $ value );
254+ }
255+ } else {
256+ update_post_meta ( $ post_id , $ request_key , $ request );
257+ }
258+
259+ }//iotheme.cn
231260
232261 $ transient ['ids ' ][$ request_key ] = cs_get_vars ( 'cs_section_id ' , $ request_key );
233262 $ transient ['errors ' ] = $ errors ;
0 commit comments