Parallel In Serial Out Diasy Chaining

So for my engineering design project, I have to read in 12 buttons using just 4 arduino pins. I know it's possible to do it using 2 Parallel In Serial Out Registers, but I have no idea how to daisy chain them together. Can someone help me? Also, how would the code work?

In brief:

Serial out from one chip into serial in of the other, parallel the other control signals, parallel-load then clock for twice as many pulses...

Or use a MCP23S17 or a better yet with only 2 pins a PCF8575.