Posts, Pages and Other WordPress Content Types

Browse manual On this page × Wordpress Manual WordPress Fundamentals Toggle WordPress Fundamentals section What Is WordPress? WordPress.org vs WordPress.com What Can You Build with WordPress? How WordPress Works WordPress Core, Themes, Plugins and Content Essential WordPress Terminology How to Plan a WordPress Website Domains, Hosting, DNS and HTTPS Explained How to Choose WordPress Hosting…

4 min read

  • Article
  • Beginner
  • 4 minutes read
  • Reviewed August 3, 2026

WordPress uses the term post type for the different kinds of content objects it manages. A blog post is one post type, a page is another and media attachments are another.

The name can be confusing because not every post type represents a blog post. In WordPress, a post type is a definition that tells the system how a group of content should behave, which features it supports and where it appears.

What a WordPress Post Type Represents

A post type is a content object with a shared set of rules. Its entries can have titles, content, authors, dates, statuses, metadata and relationships with taxonomy terms, depending on how the type is registered.

WordPress stores many post types through the same underlying content system. The type identifier distinguishes a page from a post, attachment, revision or custom record.

Posts

Posts are designed for dated publishing. They usually appear in reverse chronological order, participate in feeds and can use categories and tags.

They are appropriate for news, updates, articles and other content where publication date and an ongoing stream matter. A post can be evergreen, but the default model still assumes a publishing timeline.

Pages

Pages are intended for relatively stable, standalone content such as About, Contact or Services pages. They are hierarchical, so one page can be assigned as the parent of another.

Pages do not use categories and tags by default and are not normally presented as a dated stream. Their hierarchy can help organize navigation, but a deeply nested page tree is not a substitute for a carefully planned content model.

Attachments

When a file is uploaded to the Media Library, WordPress creates an attachment record. The record can store a title, caption, description, alternative text and file-related metadata.

The physical file and the attachment record are related but not identical. Replacing or moving files therefore requires attention to both storage and database references.

Revisions and Internal Post Types

WordPress also uses post types for internal objects. Revisions preserve previous states of content. Navigation items and several block-theme entities are represented as post-like records so they can use established WordPress APIs.

These internal types demonstrate that the post type system is a general content-object system, not merely a publishing feature visible in the Posts menu.

Custom Post Types

A custom post type is a new content type registered for a specific project or plugin. Examples include events, properties, team members, courses, documentation pages or portfolio projects.

A custom post type can have its own administration menu, labels, capabilities, archive, permalink structure, REST API routes and template hierarchy. It can also support selected core features such as the block editor, featured images, excerpts, revisions or comments.

A Post Type Is Not a Visual Template

Creating a post type defines what the content is and how WordPress manages it. It does not automatically create a complete public design.

The active theme or site templates still determine how individual entries and archives are displayed. Keeping the type definition outside the theme protects the content when the design changes.

When to Use an Existing Type

A new post type is not required for every difference in content. Use an existing type when the items share the same editorial workflow, fields, public behaviour and archive expectations.

For example, a company announcement and an educational article may both work as posts if they are distinguished by categories. Separate post types become more useful when the objects need different fields, permissions, templates, URLs or administration experiences.

Questions to Ask Before Creating a New Type

  • Does this content represent a distinct real-world object?
  • Does it need fields that ordinary posts or pages do not?
  • Does it need its own archive, URL base or template?
  • Does it have a different editorial workflow or permission model?
  • Will users need to query, filter or integrate it separately?
  • Would a taxonomy term be a simpler and more accurate distinction?

Frequently Asked Questions

Are pages a type of post in WordPress?

Yes. In WordPress terminology, pages are entries of the built-in page post type. They behave differently from ordinary posts because their type definition uses different defaults.

Are custom post types stored in a separate database table?

Normally no. Standard custom post types use the same posts table as other post-like objects and are distinguished by their post type value.

Should custom post types be registered in a theme?

Content types should normally be registered by a plugin or project-level functionality so the content remains available when the theme changes.

Continue Learning

Next: What Is Structured Content in WordPress?