From various places across your community, users can create a post from the New Post menu. After selecting a post type to create, users are taken to a page to write their post, apply tags, etc.
NOTE: The default post types are: Discussions, Questions, and Ideas.
Creating custom Post Types allows you to offer users additional types of posts in your community, such as blog posts or feedback submissions. Once created and turned on, custom types will appear as options in the New Post menu (in the image above, Submit Feedback is a custom post type).
Enable custom Post Types
In order for custom Post Types to be available, your community must be configured to use custom create post layouts. To do so:
- Access the Dashboard.
- Navigate to Appearance > Layouts > Create Post Pages > Create Post Layout Settings.
- Select the Custom Create Post Layouts option and click Save.
Now, custom Post Types become available and manageable on the Settings > Posts > Post Types page.
NOTE: If the Polls addon is enabled in your community, the Poll Post Type will also be available by default. See Create Polls with Layout Editor to learn how to create polls for your custom layouts.
In addition, when creating a post, the Post Types dropdown is now available for users to select from the available Post Types during post creation.
NOTE: The availability of a Post Type depends on whether it's (1) turned on and (2) its Category and Creation Permission settings (more on this later).
Manage which Post Types are available
At the beginning of this article, we learned how users choose what type of post to create by selecting an option from the New Post menu (or via the Post Types dropdown during post creation). At any time, you can control what Post Types are available in these menus by making your Post Types Active or Inactive.
On the Post Types page, click a Post Type's toggle to either turn it ON or OFF. This action is automatically saved.
IMPORTANT: The availability of a Post Type is more nuanced than whether it's active or not: Post Types can be configured to only be available in specific Categories and/or to users with specific Roles. You will learn how to configure these settings in the section below.
Create a custom Post Type
By default, three Post Types are available in a Vanilla community: Discussions, Questions, and Ideas.
NOTE: Apart from their API Labels, you can edit all aspects of these three default Types, including adding custom Post Fields to them (you'll learn about Post Fields below). Keep this in mind when deciding whether you need additional Post Types, as you may be able to repurpose or update these defaults to meet your needs.
If you'd like to offer your users additional posting options, let's walk through how to create a custom Post Type.
On the Post Types page, click the Add Post Type button.
On the resulting page, you'll create the Post Type in two areas: Properties and Post Fields.
Post Type - Properties
At the top of the page, you can configure several properties for your Post Type.
- Name: This simply represents the name of your Post Type on the Post Types page; it is not displayed in the front end of your community.
- Post Base Type: You must assign your custom Post Type one of three base types: Discussion, Question, or Idea. Each of these foundational base types come with associated widgets and functionalities.
- Discussion provides a discussion thread with the ability to add comments.
- Question provides a question thread with the ability to add comments. In addition, it provides a three-tabbed layout at the top of the comment list, allowing users to filter answers by: All replies, Accepted answers only, Rejected answers only.
- Idea has similar features to a Discussion but includes a Status feature allowing users to vote on the post.
- API Label: A unique identifier for your custom Post Type that can be referenced by an integration leveraging the API. 📝 NOTE: Once a Post Type is created, you cannot edit its Post Base Type or API Label.
- Post Button Label: This defines the post type's name displayed in the New Post menu (refer to the image at the beginning of this article): when users click the New Post button, all available Post Types are listed.
- Categories: If no Categories are selected, this Post Type will be available in ALL Categories. If you want to limit a Post Type to one or more specific Categories, select them here. This is a great way to control what types of content can be posted in each of your community's Categories, as some may be suited for certain Categories but not others.
- Creation Permission: In addition to limiting a Post Type to specific Categories, you can also limit access to specific user Roles. This, for example, allows you to limit a Post Type to your MVPs, or perhaps just to administrators and moderators, etc.
Custom Post Fields for Post Types
Post fields allow you to add custom fields to a Post Type, which are then appended to the Create Post page when it's selected. These are additional fields users can fill out during the post-creation process, allowing your organization to gather additional information.
For example, we created a Submit Feedback Post Type to give users an opportunity to share feedback about our product. In addition, we created six post fields for this Post Type so we could gather additional information from users submitting their feedback:
When a user selects to create our Submit Feedback Post Type on the front end, they'll see these custom Post Fields on the Create Post page (compare these two images).
Where Post Fields display on a post page
After a user fills out custom post fields during post creation, they will then display on the resulting post page in the community, as shown in the example below.
Admins have the flexibility to control where these post fields display on post pages by editing the Post Page layout(s) your community is using.
- These layouts include the default Original Post widget that cannot be deleted. Edit this widget and toggle ON the Include Custom Fields option to have custom fields display above an author's post.
- Alternatively, admins can disable the toggle discussed above for the default Original Post widget and instead add the Post Meta widget anywhere on the page.
These two options give you flexibility as to where you want your custom post fields to display.
Choose a Layout for Custom Post Fields
Regardless of the location you choose to display your post fields, you can customize their appearance on the page in a few ways using the Layout option in either widget:
- Choose Box when you want each field to feel more separated and easier to scan as its own content block. This is a good choice when your fields contain longer answers or when you want the page to feel more structured and sectioned.
- Choose Meta Row when you want a more compact, metadata-style presentation. This works well for short field values, such as status, product area, priority, or other quick-reference details.
- Choose Form Table when you want labels and values to appear in a more structured, form-like layout. This is especially useful when you want readers to review multiple fields quickly and compare them line by line.
- Choose Stacked Layout when you want each field to appear in a vertical, top-to-bottom flow. This is a helpful option when field values may wrap to multiple lines or when you want a layout that feels more natural on smaller screens.
Create a Post Field
To begin the process, click the Add Field button in the Post Fields area of the page.
On the resulting page, you can configure your Post Field with the following options:
- Creation Type: You have two options
- Create New Field: Create a new Post Field. Once created, all Post Fields can be "reused" via the Link option discussed below.
- Link Existing Field: This option enables you to "reuse" an existing Post Field. After selecting this option, a new field appears, called Post Field, where you can then select any of your existing Post Fields. After doing so, its associated data is automatically filled in (label, description, form type, etc.).
NOTE: When editing a Linked Post Field, any changes you make will apply globally to all other instances of that linked field. For example, if a Linked field is used in three Post Types, and you edit its name, that change will be reflected in all three Post Types. This caveat will be displayed in the edit dialog, as shown below.
- Field Label: This is the title of the field that will be displayed on the Create Post page.
- API Label: A unique identifier for your Post Field that can be referenced by an integration leveraging the API.
NOTE: This label cannot be edited once a Post Field is created.
- Description: This text displays below the Post Field on the Create Post page, and is helpful to explain a field's purpose to your users.
- Form Type: Defines the type of Post Field:
- Text: Users can enter a single line of text.
- Text Multiline: Users can enter paragraphs of text.
- Rich Text: Users can enter paragraphs of text using Vanilla's Rich Text editor, giving users the option to format their text with the full Rich Editor toolset, like adding images, links, embeds, and more.
- Single-select Dropdown: A dropdown menu where users can select a single option from a list of preconfigured choices.
- Multi-select Dropdown: A dropdown menu where users can select one or more options from a list of preconfigured choices.
NOTE: When selecting either dropdown type, the Options field displays. This is where you enter the options you want available to users in the dropdown menu (enter each option one per line).
- Checkbox: A box users can check to indicate agreement or understanding with the Post Field's associated title and/or description text.
- Date: On the Create Post page, this type provides a date picker users can click to select a date (date format is dd/mm/yyyy).
NOTE: Add this field type if you want to use the Date Field Reached Trigger with an Automation Rule to automate an action (such as closing or moving a post). The Date Field Reached Trigger uses the value stored in a Date field to determine when the Automation Rule should run. As a result, only custom post types that include at least one Date field can use this trigger.
- Number: While similar to a text field in that it accepts text characters, this type validates against numeric characters. In addition, when interacting with a Number field on a touch device, a numbered keypad automatically displays for ease of use.
- Visibility: Controls who can see the Post Field:
- Public: Visible to all users who have permission to view the post.
- Private: Only visible to users with the
Garden > Personal Info > View permission. - Internal: Only visible to users with the
Garden > Internal Info > View permission.
- Required: If enabled, users must complete the Post Field during post creation. This is useful when there is important information your organization needs to collect or options you want to ensure users understand or agree to.
Manage a Post Type's Post Fields
- Click Reorder to display a dialog allowing you to drag and drop the Post Fields into the desired sort order.
- Click the pencil (edit) icon to display the Edit Post Field dialog and update its settings, such as its form type, visibility, description, and more.
- Click the trashcan (delete) icon to remove a Post Field. There are two ways this can be done:
- Unlink from Post Type: As discussed earlier, when creating a Post Field you can create a net-new field or link to an existing one. The Unlink from Post Type delete action is limited to linked Post Fields. This action removes the linked Post Field from the Post Type being edited; it does not affect the field associated to any other Post Types.
- Delete: This delete action completely removes the Post Field from your community, including any other Post Types it may be linked to.
Manage your Post Types
As stated earlier, Vanilla communities have three default Post Types: Discussions, Questions, and Ideas. Let's walk through the management options available for these default and custom Types.
TIP: Click the linked numbers in the # OF CATEGORIES column to display a popup listing all Categories using a specific Post Type.
Edit
Click a Type's pencil (edit) icon to update its settings. Refer to the Create a custom Post Type section above for descriptions of each option.
Apart from the API label, you can update all aspects of both the default and your custom Post Types. You can modify their names and button labels, limit their use to specific Categories or Roles, etc.
NOTE: When editing a Post Type's Linked Post Fields, any changes you make will apply globally to all other instances of that linked field. For example, if a Linked field is used in three Post Types, and you edit its name, that change will be reflected in all three Post Types. This caveat will be displayed in the edit dialog.
Delete
Click a Type's trashcan (delete) icon to permanently delete it. Keep in mind that deleting a Post Type simply means no new posts of that type can be created; all existing posts of that type will remain accessible in your community, along with any custom Post Fields.
NOTE: You cannot delete the three default Types; as you can see in the image above, the trashcan (delete) icons are grayed out. Even so, you can update all aspects of these default Types to suit your needs, such as changing their names and button labels, or even simply turning them off (via the Active toggle) and replacing them with custom ones.
Set Post Types for your Categories
There are two ways to control which Categories your Post Types are available in:
- As discussed in the Create a custom Post Type section of this article, you can define which Categories a Post Type can be posted to when configuring the Post Type's settings.
- In addition, you can also edit a Category to control its allowed Post Types.
- On the Settings > Posts > Categories page, edit a Category and turn on the Has Restricted Post Types toggle to display the Allowed Post Types option.
- Use this option to select what Post Types are allowed in the Category (if this toggle is OFF, all Post Types are available).
NOTE: If you're moving from legacy Create Post page layouts, Categories previously designated as Idea Categories or that restricted post types with the Post Types settings will have Has Restricted Post Types automatically enabled and those restrictions honored.
Reorder Post Fields
When you add or edit a Post Type, you can click the Reorder button if you want to customize the top-to-bottom display order of the Body field and custom Post Fields.
The Post Fields section shows the current display order of these fields.
The fields display in this order:
- on the Create Post page in your community and
- in the published post/thread view.
If you make changes, the order that you set will be honored in these two locations.
Reorder example
In the following example, Question Post Field 1 is originally in the top position; it is then re-ordered to the bottom position:
When Reorder is clicked on the popup and the new display order is saved, the Post Fields section reflects the new display order:
This is how the fields will be arranged on the Create Post page and in the published post/thread view.
Reorder notes
Keep in mind the following important notes on the behavior of this feature.
- A post's Title is not included with the reorderable field list; it is handled separately.
- By default, the *Body (System Field) label does not display in the published post/thread view.
- If the *Body (System Field) is edited with a custom label, that custom label might display on the published post/thread view.
- If an Admin saves the *Body (System Field) with a label that matches the default label (e.g., Body), that label might display because it is treated as a custom label.
- Existing Post Types should continue to behave as expected, with Body in its default position, unless an Admin changes the display order.
Include Custom Fields toggle
The Include Custom Fields setting (discussed above in Where Post Fields display on a post page) influences the *Body (System Field) as described below.
TIP: The Include Custom Fields setting defaults to OFF; it has to be toggled on to be enabled.
If Include Custom Fields = OFF:
- the positioning of the "Body" field will not be respected, regardless of whether custom post fields have been added, BUT
- if any custom post fields have been added, their positioning will be respected.
If Include Custom Fields = ON:
- the positioning of the "Body" field will be respected, as will that of any custom post fields that have been added.