For dynamic content across a WordPress website, is it a better practice to create new post types for updating content or using theme options?
I personally find theme options a little more time consuming to code than registering a new post type in functions.php
It depends on the type of content.
Is the content dynamic, likely to change, likely to have repetitions of the same types of information, time dependent? I’ll probably use a custom post type.
Is the content unlikely to change, or only needs one instance of the information set (like a logo, Google analytics code, social media usernames, etc)? Theme options.
There is another option that’s sometimes viable: custom post meta-data. I’m working on a site right now where one of the pages has a list of FAQs set up in an accordion-style interface. My plan is to set up a custom meta-box specifically attached to just that page to hold the key-value pairs for the FAQs. This could be set up as a custom post type, but I’m setting it as custom post metadata. I figure this will be easier for my client, rather than having to learn, remember, and find yet another UI element.