$val): if (!is_array($val)): $bx_page_settings[$key] = sanitize_text_field($val); else: foreach($val as $subkey => $subval): if (!is_array($subval)): $bx_page_settings[$key][$subkey] = sanitize_text_field($subval); else: foreach($subval as $sub_subkey => $sub_subval): if (!is_array($sub_subval)): $bx_page_settings[$key][$subkey][$sub_subkey] = sanitize_text_field($sub_subval); else: foreach($sub_subval as $sub_sub_subkey => $sub_sub_subval): if (!is_array($sub_sub_subval)): $bx_page_settings[$key][$subkey][$sub_subkey][$sub_sub_subkey] = sanitize_text_field($sub_sub_subval); else: foreach($sub_sub_subval as $sub_sub_sub_subkey => $sub_sub_sub_subval): $bx_page_settings[$key][$subkey][$sub_subkey][$sub_sub_subkey][$sub_sub_sub_subkey] = sanitize_text_field($sub_sub_sub_subval); endforeach; endif; endforeach; endif; endforeach; endif; endforeach; endif; endforeach; endif; // Update the page settings meta field. update_post_meta( $post_id, '_boxytheme_page_settings', $bx_page_settings ); // Update the post's excerpt and content if Short Description is entered (for SEO purposes). if ($page_excerpt): // Unhook this function so it doesn't loop infinitely remove_action( 'save_post', array( &$this, 'save_page_meta_box' ) ); // Update the post, which calls save_post again wp_update_post( array( 'ID' => $post_id, 'post_excerpt' => $page_excerpt, 'post_content' => $page_excerpt ) ); // Re-hook this function add_action( 'save_post', array( &$this, 'save_page_meta_box' ) ); endif; } /** * Render Meta Box content. * * @param WP_Post $post The post object. */ public function render_page_meta_box( ) { global $post; /* * Output the page meta fields * @since 1.0.0 */ do_action( 'boxytheme_page_fields', $post->ID ); // Add an nonce field so we can check for it later. wp_nonce_field( 'boxytheme_page_custom_box', 'boxytheme_page_custom_box_nonce' ); } } /** * Page Fields */ function boxytheme_render_page_fields( $post_id ) { global $wp_registered_sidebars; $bx_options = wpc_get_settings(); $sidebars = wp_get_sidebars_widgets(); $bx_page_settings = get_post_meta( $post_id, '_boxytheme_page_settings', true); ?>