Understanding WordPress Content Hierarchy (Posts, Terms, and Taxonomies)
To effectively manage access to the WordPress content, it is crucial to understand the terminology used to describe it and how everything is organized. In this article, we'll break down the various types of content in WordPress and explain how they interrelate.
Defining content
Merriam-Webster provides a concise definition of content in the context of websites as the principal substance (such as written matter, illustrations, or music) offered by a website. This broad definition encompasses the diverse elements that make up a website.
To effectively manage this content, it must be organized, categorized, and classified. WordPress accomplishes this by offering two primary types of content: posts and terms. Let's delve into each type and explore their characteristics and relationships.
Post & Post Type
When discussing WordPress, we often refer to posts, pages, attachments, orders, contact forms, and more as distinct entities. However, what may surprise many is that all these elements are essentially classified as posts within the WordPress framework. They are stored in the same database table, wp_posts
, and managed by WordPress core in a similar manner.
The primary distinctions among these posts are the post type attribute and the associated capabilities that grant access to various actions such as editing, deleting, and publishing.
To clarify further, every post is classified by its post type attribute. For instance, a standard blog post is classified as a post of the "post" type, while a page is a post of the "page" type. Additionally, posts can be either hierarchical or non-hierarchical, with hierarchical posts having the option of being linked to a parent post.
The diagram below visually illustrates the relationships between hierarchical and non-hierarchical post types, showcasing how access settings and properties cascade from "Post Type" to "Parent Post(s)" (if any) and down to individual "Posts."
Term & Taxonomy
As the volume of posts on a WordPress site grows, the need for categorization or tagging becomes apparent. WordPress core introduces another type of content known as "term" to address this requirement.
All created terms are stored in the wp_terms
database table and classified by a "taxonomy". For example, we commonly refer to terms in the "category" taxonomy as "post categories" and terms in the "post_tag" taxonomy as "post tags."
Similar to post types, taxonomies can be hierarchical or non-hierarchical. Terms belonging to hierarchical taxonomies are often called "categories," while those in non-hierarchical taxonomies are referred to as "tags."
The diagram below visually illustrates the relationships between terms and hierarchical/non-hierarchical taxonomies, demonstrating how access settings and properties trickle down from "Taxonomy" to "Parent Term(s)" (if any) and to individual "Terms."
Content hierarchy
To bring it all together, the following diagram presents a comprehensive overview of content types in WordPress and their interrelationships. This visual representation allows us to see how access controls can propagate through the hierarchical structure to any requested content.
Conclusion
Understanding the content hierarchy in WordPress is crucial for effective content management and access control. Whether you're a seasoned WordPress user or a beginner, grasping the relationships between posts, terms, and taxonomies can enhance your ability to organize and manage your website's content. With the aid of plugins like the free AAM plugin, coupled with the premium Complete Package, you can define access controls for each level of content separately, ensuring that your website's content is well-organized and secure.