Stop Rigidbody Wall Jump/stickyness for good!

I have came up with this solution so far…but for some reason it’s still not working.

    bool isGrounded = true;
    bool isWallJumping = false;
    void OnCollisionEnter(Collision other)
    {
        Bounds test = new Bounds();
        Vector3 temp = new Vector3(collider.bounds.center.x, -1, collider.bounds.center.z);
        test.center = temp;
        if (other.collider.bounds.Intersects(test))
            isWallJumping = true;
        isGrounded = true;
    }
    void OnCollisionStay(Collision other)
    {
        if (isGrounded == false)
            isGrounded = true;
    }
    void OnCollisionExit(Collision other)
    {
        if (isWallJumping == true)
            isWallJumping = false;
        isGrounded = false;
    }

I have resolved this myself. Here is the answer for anyone who wants it.

    bool isGrounded = true;
    void OnCollisionStay(Collision other)
    {
        if (isGrounded == false && other.gameObject.tag != "Wall")
            isGrounded = true;
        if (other.gameObject.tag == "Wall")
        {
            anim.SetBool("Move", false);
            isGrounded = false;
        }
    }
    void OnCollisionExit(Collision other)
    {
        isGrounded = false;
    }