In reply to Mark. I don't know if there is a one-stop solution for more advanced topics. There are really infinite things you can do, so nothing will ever be perfect in that regard. If you want to build theme options, you'll need the Customize API. It can be limiting, and to do more complex things, you'll need to build custom controls from scratch or use something like the Kirby Framework. And, there are really some advanced things that are simply not documented. For meta boxes, there is the meta box docs. But, there is no real form fields API behind it. So, you'd be custom coding all of that. Of course, there are frameworks/libraries like Advanced Custom Fields and Meta Box too that have a lot of pre-built things. But, you are right about the more advanced stuff being a bit more patchwork. Over the years, WordPress has continued to add new APIs, particularly for forms, so developers end up having to learn completely different systems to do something as basic as an field. The block system is slowly changing that, bringing together different pieces. However, it'll be a while before we have a holistic system.