Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- add_action( 'init', 'swbd_sanitize_builder_data_structure');
- // swbd_sanitize_builder_data_structure
- function swbd_sanitize_builder_data_structure() {
- $directory_types = get_terms([
- 'taxonomy' => ATBDP_DIRECTORY_TYPE,
- 'hide_empty' => false,
- ]);
- if ( empty( $directory_types ) ) { return; }
- foreach ( $directory_types as $directory_type ) {
- swbd_sanitize_single_listings_contents_data_structure( $directory_type->term_id );
- }
- }
- // swbd_sanitize_single_listings_contents_data_structure
- function swbd_sanitize_single_listings_contents_data_structure( $directory_type_id = 0 ) {
- $single_listings_contents = get_term_meta( $directory_type_id, 'single_listings_contents', true );
- if ( ! isset( $single_listings_contents['fields'] ) && ! isset( $single_listings_contents['groups'] ) ) return;
- if ( ! is_array( $single_listings_contents['groups'] ) ) return;
- $fields_keys = ( is_array( $single_listings_contents['fields'] ) ) ? array_keys( $single_listings_contents['fields'] ) : [];
- $fields_log = [];
- foreach( $single_listings_contents['groups'] as $group_key => $group ) {
- $fields_in_group = $group['fields'];
- foreach ( $fields_keys as $field_key ) {
- if ( ! isset( $fields_log[ $field_key ] ) ) {
- $fields_log[ $field_key ] = [];
- }
- if ( in_array( $field_key, $fields_in_group ) ) {
- $fields_log[ $field_key ][] = $group_key;
- }
- }
- }
- foreach ( $fields_log as $field_key => $field_value ) {
- if ( ! empty( $field_value ) ) continue;
- unset( $single_listings_contents['fields'][ $field_key ] );
- }
- update_term_meta( $directory_type_id, 'single_listings_contents', $single_listings_contents );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement