Location-Based Pages displaying results near customer

There are a lot of pieces to this puzzle.

You need to be able to convert the postcodes into a numerical data format so you can query the pages/posts with “is greater than [current location minus 5 miles] and less than [current location plus 5 miles”. In two dimensions. This means storing the latitude and longitude with the page. You can automate this, so that your custom postcode field updates custom lat and long fields on save, but obviously that’s some custom code.

See: How can I implement a location based (zip code) search in WordPress?

There is some stuff on there about radiuses (because something both 5 miles north and 5 miles east is actually more than 5 miles away) but if you’re going to show the results on a square Google map then you may as well include what’s in the corners.