Last updated 21 March 2016. Created on 29 April 2008.
Edited by joebachana, johnvsc, raelianer, jason.spradlin. Log in to edit this page.

In Drupal, a Content Type is a pre-defined collection of data types (Fields) which relate to each other by an informational context. In this sense, "context" means "parts that should be considered as a correlated whole." Content Types are how site editors can input original content on a Drupal site; while Views, for example, is one way you can serve up content to your end users.

A developer (or an administrator, with the help of CCK) can add new Content Types to collect specific information for display. Also, existing Content Types can be "extended" by adding additional Fields. Drupal 6 "ships" with two initial Content Types (Page and Story). Most commonly, "CCK" is used to add new Content Types; however, developers can define and add new types from within a "back-end" module. In Drupal 7+, "CCK" has been ingested into Drupal Core (so you don't need to add this module!)

All posts that exist on the site are instances of a content type:
Each time you create a post (page, story etc.), a content type is being used to hold and form the items you enter. When you save the post, you have created a node using a content type.

Content types need permissions too:
Goto: admin/user/permissions(Administer > User management > Permissions)
In the "node module" subsection are permissions for access content and for each content type, create, delete any, delete own, edit any, edit own, revert revisions and view revisions. These can be set by role as well.

Drupal core content types:
Drupal comes with two pre-configured default content types with different default configured behaviors. Feel free to rename, configure, change, delete as your site needs dictate.

  • Page - A page, similar in form to a story, is a simple method for creating and displaying information that rarely changes, such as an "About us" section of a website. By default, a page entry does not allow visitor comments and is not featured on the site's initial home page.
  • Story - A story, similar in form to a page, is ideal for creating and displaying content that informs or engages website visitors. Press releases, site announcements, and informal blog-like entries may all be created with a story entry. By default, a story entry is automatically featured on the site's initial home page, and provides the ability to post comments.

Optional Drupal core content types:
Drupal has four additional content types available when the blog, forum, book and poll modules are enabled.
To enable these, Goto: admin/build/modules/list(Administer > Site building > Modules > List) in the "core optional" subsection.

  • Blog entry - A blog entry is a single post to your journal or blog. Use the full text editor with all the cool functions or choose plain text. All your blog entry's can be edited easily at any time when you Login.
  • Forum topic - A forum topic is the initial post to a new discussion thread within a forum.
  • Book page - A book page is a page of content, organized into a collection of related entries collectively known as a book. A book page automatically displays links to adjacent pages, providing a simple navigation system for organizing and reviewing structured content.
  • Poll - A poll is a question with a set of possible responses. A poll, once created, automatically provides a simple running count of the number of votes received for each response.

Some contributed modules will create a new content type:
Many contributed modules at install time will create their own custom content type. A few examples are; Recipe, Event, Node Gallery and Web Links.

Edit an existing content type:
Content types have their own properties. To change an existing content types configuration Goto: admin/content/types/page(Administer > Content types > Page), Story, Blog -- and choose edit.

Create a new content type:
Goto: admin/content/types/add(Administer > Content management > Content types > Add content type).
Creating different or custom content types, each for a given purpose can make web site management easier and more user friendly. Each time a new content type is created, the permissions must be set for it.

Add fields, select lists, taxonomy and more to content types:
Download and install CCK(Content construction kit). Goto: admin/build/modules/list(Administer > Site building > Modules > List) in the CCK subsection; Enable content, text, option widgets and any other of the items in that section you might want use. When adding or editing a content type you will have two new tabs, Manage fields and Display Fields. Manage fields is where you add them, display fields is where you decide how they will display.
Taxonomy can also be added to any content type so the user can select a taxonomy term from a drop-down list used for classifying and arranging content.

Front page post count, teaser, and preview setting for all content types:
Goto: admin/content/node-settings(Administer > Content management > Post settings)

  • Number of posts on main page: choose from the select list.
    When posts exceed the number selected, a pager will display.
  • Length of trimmed posts: choose from the select list.
    When number of characters is exceeded, a "Read More" link will display. This also sets the length of teasers for feeds. If the setting is changed new posts will follow the setting, existing posts will remain the same. Existing posts can be edited and the teaser length can be corrected.
  • Preview post: choose optional or required.

Default configuration options are as follows:

Your choices may vary depending on enabled modules.


The information that helps identify the content type

  • Name - The human-readable name of the content type.
  • Type - The machine-readable name of the content type.
  • Description - A description of the content type, typically entered by the site administrator. This is the text that shows on the create content page to the right of the Content Type Name.

Submission form settings:

The fields and forms available to the content type. Additional modules can add options.

  • Title field label - typically Title.
  • Body field label - typically Body.
  • Minimum number of words - default to 0.
  • Explanation or submission guidelines - typically blank but can be useful for setting user expectations towards content submission.

Workflow settings:

Default behavior for the content type. Users with the administer nodes permission will be able to override these options. Default available options are

  • Published - When content is submitted, it will be publicly accessible.
  • Promoted to front page - Promoted to the default Drupal front page (set to /node)
  • Sticky at top of lists - Post will remain at the top of a given list. This applies to forums, the front page, a given taxonomy list.
  • Create new revision - If content is edited, it will automatically save the previous version.

Comment settings:

With Drupal 6, comment configuration settings are now set per content type.

See the next page for details on comment configurations

Additional Notes:

In the Drupal 5, there is a link "Add new comment" at the bottom of the page, to add that in Drupal 6 use this snippet to add the comment link. Place this code in the page.tpl.php file in the theme folder.

<?php if ((!$is_front) && ($links)) { ?><div class="links">&raquo; <?php print $links?></div><?php }; ?>

Looking for support? Visit the forums, or join #drupal-support in IRC.


Vinod229’s picture

I want to have a new custom select field with list of post titles of another content type in drupal 7.
Example : I have two content types one is photographers and other is galleries and I want all photographers list as a custom select field for galleries content type.