4 way traffic light, button for emergency yellow light

Please, does someone know how can i add a button which will switch main code to all yellow lights and is it even possible for me to do that with my code. I know that delay function is not very good but i just want to know can i add that button and make everything work. Here is the code:

int redNS = 7;
int yellowNS = 6;
int greenNS = 5;

int redEW = 4;
int yellowEW = 3;
int greenEW = 2;

int pgreenEW = 8;
int predEW = 9;
int pgreenNS = 10;
int predNS = 11;

void setup() {

pinMode (redNS, OUTPUT);
pinMode (yellowNS, OUTPUT);
pinMode (greenNS, OUTPUT);

pinMode (redEW, OUTPUT);
pinMode (yellowEW, OUTPUT);
pinMode (greenEW, OUTPUT);

pinMode (predEW, OUTPUT);
pinMode (predNS, OUTPUT);
pinMode (pgreenNS, OUTPUT);
pinMode (pgreenEW, OUTPUT);

}
void loop() {

digitalWrite(redNS, HIGH);
digitalWrite(greenEW, HIGH);

digitalWrite(predEW, HIGH);
digitalWrite(pgreenNS, HIGH);

delay(7000);

digitalWrite(redNS, HIGH);
digitalWrite(greenEW, LOW);
digitalWrite(yellowNS, HIGH);
digitalWrite(yellowEW, HIGH);

digitalWrite(pgreenNS, LOW);
digitalWrite(predNS, HIGH);

delay(3000);

digitalWrite(yellowEW, LOW);
digitalWrite(redEW, HIGH);
digitalWrite(yellowNS, LOW);
digitalWrite(redNS, LOW);
digitalWrite(greenNS, HIGH);

delay(1000);
digitalWrite(predNS, HIGH);
digitalWrite(pgreenEW, HIGH);
digitalWrite(predEW, LOW);

delay(7000);

digitalWrite(greenNS, LOW);
digitalWrite(yellowNS, HIGH);
digitalWrite(redEW, HIGH);
digitalWrite(yellowEW, HIGH);

digitalWrite(predEW, HIGH);
digitalWrite(pgreenEW, LOW);

delay(3000);

digitalWrite(redNS, HIGH);
digitalWrite(yellowNS, LOW);
digitalWrite(greenEW, HIGH);
digitalWrite(redEW, LOW);
digitalWrite(yellowEW, LOW);

delay(1000);
digitalWrite(predEW, HIGH);
digitalWrite(pgreenNS, HIGH);
digitalWrite(predNS, LOW);
}

i just want to know can i add that button and make everything work.

Yes, you can add a button to do what you want but because of using delay() you will have to hold the button down for up to 22 seconds for it to be recognised. I assume that is not what you want.

First rewrite your program as a state machine using millis() for timing.