Everything is a post: blog, products, and custom post types differ only in fields
Install WooCommerce and you get 'products' — which are just posts wearing pricing fields.
The unifying idea of the chapter: WordPress has one content machine — lists of posts with fields. The blog is that machine with title/content/image/categories. WooCommerce products are the same machine with pricing, inventory and sale fields bolted on. And custom post types are the same machine with YOUR fields: testimonials (text, photo, name, role), team members, job listings (hours, salary, location). Categories and tags — jointly 'taxonomies' — ride along on any of them, and hierarchical taxonomies give real categories rather than tags.
Once seen this way, every feature that works for blogs (archives, loops, singles, excerpts) works for everything else — which is exactly how the rest of the section proceeds.
The jobs walk-through: a 'jobs' post type created in ACF in under a minute, given a hierarchical 'job categories' taxonomy, an icon from the icon library, a menu position, and then fields — hours (text), salary (number with min/max validation), image, and a location text field that feeds Elementor's map widget.
This is the mental unlock that turns WordPress from 'a blog tool' into a general content database — the foundation of client-editable sites.
Custom post types are an advanced developer feature.
ACF creates one in a form: plural name, singular name, save. The sophistication is in choosing WHAT deserves to be a list — not in the mechanics.
Just leave the post type key for what it is. Never change it.
["HUDDLE's member/organization lists are textbook CPT material if it ever moves WordPress-side; the pattern also maps to any headless CMS."]
Go deeper
In one line: All WordPress content types are posts with different field sets: built-in posts (blog), WooCommerce products (commerce fields), and ACF-created custom post types (your fields). Taxonomies (categories/tags) attach to any; hierarchical taxonomies behave as categories. Every template mechanism then applies uniformly.
'Webshop products are just other kinds of posts with different fields like a pricing field' (l1424758 08:07)
Custom post types exist for 'when you want an extra list' beyond blog and products (l1424758 10:07)
Categories + tags = taxonomies; set hierarchical=on to get category behavior (l1424761 06:04)
Custom fields extend any post type: 'they're not the normal fields which you already get — they're custom fields. That's it.' (l1424758 14:08)
Name three lists on any site you run (team, FAQs, locations, projects…). Each is a custom post type wearing different fields — that's the whole design exercise.
▶ Watch this taught:
Answer from memory first — the recall attempt is what makes it stick. Then reveal.
What's the actual difference between a blog post, a product, and a testimonial in WordPress?
Only the field set. All three are posts; archives, singles, loops and excerpts work identically on each.