This guide explains how to create and configure custom user fields in Discourse, including how to add them to the signup form, user profiles, and user directory.
Required user level: Administrator
Custom user fields allow you to collect additional information from your users beyond the standard profile fields. These fields can be displayed on user cards, user summary pages, and even retrieved using the Data Explorer plugin. This guide will walk you through the process of creating and configuring custom user fields.
Adding a user field
-
Go to Admin > Community > User Fields (
discourse.example.com/admin/customize/user_fields
). -
If you haven’t created any user fields yet, you’ll see this screen:
-
Click the “Add user field” button to add a new field.
Choosing a field type
The field type determines the input field users will see on the signup form. Choose based on the kind of information you’re collecting:
Text field
- Use for questions with many possible answers (e.g., “What company do you work for?”)
- Displays as an HTML text input
Confirmation
- Use for yes/no questions (e.g., “Would you like to sign up for our newsletter?”)
- Displays as an HTML checkbox
Dropdown
- Use for questions with a set number of possible answers (e.g., “What is your gender?”)
- Displays as an HTML select input
To add options for a dropdown field:
- Click on the option input
- Type an answer and click “Create”
- Repeat for additional options
The completed options should look similar to this:
Setting the field name and description
- Field Name: Appears before the input on the signup form and user profile
- Field Description: Appears after the input to help users complete the field
Both the field name and description are required to save a field.
Here’s how custom fields appear on the signup form:
Configuring user field options
Field Requirements
- Optional - Optional fields may be left empty by users
- For all users - When a field is required by all users, every account, including logged on users will be forced to fill it. This is very useful for cases such as a terms-of-service (ToS) requirement.
- On signup - All new account will be required to fill the field.
Additionally, at the bottom of the creation form, you’ll find these options:
- Editable after signup: Allows users to update the field from their profile page
- Required at signup: Makes the field mandatory during account creation
- Show on public profile: Displays the field value on the user’s summary page
- Show on user card: Shows the field value on the user card
- Searchable: Enables searching for users based on this field’s value in the user directory
Show on public profile
When enabled, the field value will be shown on the user’s profile page:
Show on user card
When enabled, the field value will be displayed on the user card:
Searchable
When enabled, you can search for users based on their custom field values:
Saving and editing fields
- Click “Save” to add the field to your site’s list of user fields
- To edit a field, click the “Edit” button next to it in the list
- To delete a field, click the “Delete” button
Adding custom fields to the user directory
- Go to the user directory
- Click the wrench icon:
- Check the custom user fields you want to display
- Click “Save”
The selected custom fields will now appear in the user directory table:
Last edited by @tshenry 2024-12-07T02:24:15Z
Last checked by @hugh 2024-08-27T04:45:20Z
Check document
Perform check on document: