public function save($post_id) { if (!SB_Core::verify_nonce('sb_meta_box', 'sb_meta_box_nonce') || defined('DOING_AUTOSAVE') && DOING_AUTOSAVE || !current_user_can('edit_post', $post_id)) { return $post_id; } foreach ($this->fields as $field) { $type = isset($field['type']) ? $field['type'] : ''; $name = isset($field['name']) ? $field['name'] : ''; if (empty($name)) { continue; } if ('checkbox' == $type) { $value = isset($_POST[$name]) ? 1 : 0; } elseif ('datetime' == $type) { $value = isset($_POST[$name]) ? SB_PHP::string_to_datetime($_POST[$name], 'Y-m-d') : ''; if (!empty($value)) { $value = strtotime($value); } } else { $value = isset($_POST[$name]) ? $_POST[$name] : ''; } $meta_value = SB_Core::sanitize($value, $type); SB_Post::update_meta($post_id, $name, $meta_value); } return $post_id; }