I really wanted to make this site useable to people
don’t take this the wrong way:
I think I mentioned somewhere earlier in this thread that, when you’re learning, it’s not uncommon to reach a point where you realize that the way you started doesn’t work with the way you learned, so you’ve got to scrap it and rewrite. This might happen several times. I scrapped my first CMS-like project four times (and it came out “okay” …nothing like it would be if I wrote it now). That’s okay.
If you decide to “go for it,” I’d recommend designing (in the “engineering” sense) your site at a fairly high level first: without writing any code, get as specific as possible describing what features you want, how they interact, how they work, and so forth. The more stuff you can plan for, the better it will all work off-the-bat.
When you do start writing code, start with “general” code instead of specific things. A lot of tasks you do will need to be done in several places (e.g., reading query results, staging content for templates, etc.), so try to write that code in a general way that you can re-use, instead of writing similar code over and over.