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.
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.
Post Type - Post Fields
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).
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.
- 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).
- 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.