/**
  * Save the metabox option values as post meta.
  *
  * @since 0.9.0
  */
 public function metaboxes_save($post_id, $post)
 {
     if (!post_type_supports($post->post_type, 'genesis-simple-schema')) {
         return;
     }
     if (!isset($_POST['genesis_simple_schema'])) {
         return;
     }
     $data = wp_parse_args($_POST['genesis_simple_schema'], $this->custom_field_defaults);
     genesis_save_custom_fields($data, 'genesis_simple_schema_save', 'genesis_simple_schema_nonce', $post);
 }
/**
 * Save the layout options when we save a post or page.
 *
 * Since there's no sanitizing of data, the values are pulled from identically named keys in $_POST.
 *
 * @since 0.2.2
 *
 * @uses genesis_save_custom_fields() Perform checks and saves post meta / custom field data to a post or page.
 *
 * @param integer  $post_id Post ID.
 * @param stdClass $post    Post object.
 *
 * @return mixed Returns post id if permissions incorrect, null if doing autosave, ajax or future post, false if update
 *               or delete failed, and true on success.
 *
 */
function genesis_inpost_layout_save($post_id, $post)
{
    if (!isset($_POST['genesis_layout'])) {
        return;
    }
    $data = wp_parse_args($_POST['genesis_layout'], array('_genesis_layout' => '', '_genesis_custom_body_class' => '', '_genesis_post_class' => ''));
    $data = array_map('genesis_sanitize_html_classes', $data);
    genesis_save_custom_fields($data, 'genesis_inpost_layout_save', 'genesis_inpost_layout_nonce', $post);
}
/**
 * Saves the layout options when we save a post / page.
 *
 * It does so by grabbing the array passed in $_POST, looping through it, and
 * saving each key / value pair as a custom field.
 *
 * @category Genesis
 * @package Admin
 * @subpackage Inpost-Metaboxes
 *
 * @since 0.2.2
 *
 * @param integer $post_id Post ID
 * @param stdClass $post Post object
 * @return integer|null Returns post ID if the nonce was not correct or user was not
 * allowed to edit content. Returns null if doing autosave, ajax or cron
 */
function gs_inpost_scripts_save($post_id, $post)
{
    /**	Verify the nonce and capability */
    if (!isset($_POST['genesis_scripts'])) {
        return;
    }
    /** Merge user submitted options with fallback defaults */
    $data = wp_parse_args($_POST['genesis_scripts'], array('redirect' => '', '_genesis_scripts' => '', '_genesis_footer_scripts' => ''));
    /** No sanitization necessary for scripts */
    /** Save custom field data */
    genesis_save_custom_fields($data, 'gs_inpost_scripts_save', 'gs_inpost_scripts_nonce', $post, $post_id);
}
/**
 * Save the settings when we save a post or page.
 *
 * @since 1.0.0
 *
 * @param integer  $post_id Post ID.
 * @param stdClass $post    Post object.
 *
 * @return null
 */
function custom_loop_inpost_meta_save($post_id, $post)
{
    if (!isset($_POST['genesis_custom_loop'])) {
        return;
    }
    // Merge user submitted options with fallback defaults
    $defaults = array('_gcl_post_type' => '', '_gcl_taxonomy' => '', '_gcl_tax_term' => '', '_gcl_posts_per_page' => '', '_gcl_order_by' => '', '_gcl_order' => '');
    $data = wp_parse_args($_POST['genesis_custom_loop'], $defaults);
    $clean_data = array();
    foreach ((array) $data as $key => $value) {
        if (in_array($key, array_keys($defaults))) {
            $clean_data[$key] = sanitize_text_field($value);
        }
    }
    genesis_save_custom_fields($clean_data, 'custom_loop_inpost_meta_save', 'custom_loop_inpost_meta_nonce', $post);
}
/**
 * Save the settings when we save a post or page.
 *
 * @since 1.0.0
 *
 * @param integer  $post_id Post ID.
 * @param stdClass $post    Post object.
 *
 * @return null
 */
function genesis_page_templates_inpost_meta_save($post_id, $post)
{
    if (!isset($_POST['genesis_custom_loop']) || !check_admin_referer('genesis_page_templates_inpost_meta_save', 'genesis_page_templates_inpost_meta_nonce')) {
        return false;
    }
    $data = wp_unslash($_POST['genesis_custom_loop']);
    $defaults = array('_gcl_post_type' => '', '_gcl_taxonomy' => '', '_gcl_tax_term' => '', '_gcl_posts_per_page' => '', '_gcl_order_by' => '', '_gcl_order' => '', '_gcl_post_info' => '', '_gcl_post_meta' => '');
    // Merge user submitted options with fallback defaults.
    $data = wp_parse_args($data, $defaults);
    $clean_data = array();
    foreach ((array) $data as $key => $value) {
        if (in_array($key, array_keys($defaults), true)) {
            $clean_data[$key] = sanitize_text_field($value);
        }
    }
    genesis_save_custom_fields($clean_data, 'genesis_page_templates_inpost_meta_save', 'genesis_page_templates_inpost_meta_nonce', $post);
}