public function save_meta_boxes( $id, $post = null ) {
		// Check if there was a multisite switch before.
		if ( is_multisite() && ms_is_switched() ) {
			return;
		}

		// Can't proceed without a id.
		if ( empty( $id ) ) {
			return;
		}

		// Check if our nonce is vailed.
		if ( ! wp_verify_nonce( papi_get_sanitized_post( 'papi_meta_nonce' ), 'papi_save_data' ) ) {
			return;
		}

		$meta_type = $this->get_meta_type();
		$post      = is_array( $post ) ? (object) $post : $post;

		if ( $meta_type === 'post' && $post_type = get_post_type_object( $post->post_type ) ) {
			// Check so the id is a post id and not a autosave post.
			if ( ! $this->valid_post_id( $id ) ) {
				return;
			}

			// Check the `edit_posts` capability before we continue.
			if ( ! current_user_can( $post_type->cap->edit_posts ) ) {
				return;
			}

			// Delete all oEmbed caches.
			if ( class_exists( 'WP_Embed' ) ) {
				global $wp_embed;

				if ( $wp_embed instanceof WP_Embed ) {
					$wp_embed->delete_oembed_caches( $id );
				}
			}
		}

		if ( $meta_type === 'term' && $taxonomy = get_taxonomy( papi_get_taxonomy() ) ) {
			// Check the `edit_terms` capability before we continue.
			if ( $taxonomy && ! current_user_can( $taxonomy->cap->edit_terms ) ) {
				return;
			}
		}

		$this->save_properties( $id );
	}