public function can_save_post_meta( $post_id, $action, $nonce ) {

        $is_autosave = wp_is_post_autosave( $post_id );
        $is_revision = wp_is_post_revision( $post_id );
        $is_valid_nonce = ( isset( $_POST[ $nonce ] ) && wp_verify_nonce( $_POST[ $nonce ], $action ) );

        return ! ( $is_autosave || $is_revision ) && $is_valid_nonce;

    }