The ticket was three sentences long: "Some paid members can't play the on-demand videos. They log in, click a video, and still get told they need a membership. Can you fix it tonight?"

I fixed it tonight. But the bug I was asked to fix turned out to be the smaller of two problems sitting on the same page — and the bigger one was that the paywall wasn't protecting anything at all.

This is a write-up of how a routine "members can't log in" ticket unravelled into a full rebuild of the access layer on a WordPress / WooCommerce / WishList Member / Vimeo stack, and the handful of debugging lessons that fell out of it.

The stack

The site is a fitness membership platform. The relevant pieces: