It is always a bad idea to use an interrupt for an ordinary button. Especially if you are a beginner, interrupts are not a good idea at all. A interrupt service routine (ISR) is NOT an ordinary function. There are several restricitions that apply to an ISR - and even more on an ESP32.
ISR's must be short, and there are several functions you must not use in an ISR. 'delay' and Serial.print() belong to these functions. Also an ISR running on ESP32 needs a special attribute IRAM_ATTR, and all functions that are called from within the ISR must also have this attribute.
Check your button in loop, and learn how to program without delay, so that loop loops fast enough for checking the button. And remember that mechanical buttons bounce.