One of the biggest, and most useful additions to WordPress in recent years has been the introduction of Custom Post Types. Before CPTs, all the content in your site needed to either be in pages or in blog posts. If your site needed a lot of different types of data, you’d typically use categories (or even tags) to tell them apart. I’ve seen (and probably built) examples where “products” and “news” were post categories, and the site’s front-end would continuously filter out one of the two. In hindsight: madness.
Since the introduction of Custom Post Types, it makes sense to declare separate types for different types of data. When doing so, there’s a crucial argument (passed to the register_post_type function) called “supports”. This argument tells WordPress which post features should be available for the new post type. This allows you to mix and match various features. No need for an excerpt? Require a “featured image”? Need custom fields? No problem. But there’s a catch.
More Custom Post Features could make WordPress even more flexible