创建和配置自定义用户字段

:bookmark: 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.

:person_raising_hand: 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

  1. Go to Admin > Community > User Fields (discourse.example.com/admin/config/user-fields).

  2. If you haven’t created any user fields yet, you’ll see this screen:

  3. 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

Confirmation

Dropdown

To add options for a dropdown field:

  1. Click on the option input
  2. Type an answer and click “Create”
  3. 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

:information_source: 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

  1. Click “Save” to add the field to your site’s list of user fields
  2. To edit a field, click the “Edit” button next to it in the list
  3. To delete a field, click the “Delete” button

Adding custom fields to the user directory

  1. Go to the user directory
  2. Click the wrench icon:

  1. Check the custom user fields you want to display
  2. Click “Save”

The selected custom fields will now appear in the user directory table:

39 个赞
Custom Wizard Plugin :mage:
Any Plugins/Easy Mods for an Extended User Profile
Add introductory text for sign-up
Setting Security Parameters: Log-In, Read-Only, Protected Groups
User preference on theme components
Theme-Component v Plugin: What's the difference
Users self-select Category on Registration... is it possible?
Add a custom per-user setting in a plugin
How to add min or max values in custom fields?
Announcing - Gender Pronouns Userfield on Meta
Private custom user fields...?
User Field Prompt
New user reviews: admin assignment and logging of progress
Add users to groups on signup
Welcome questions on the first screen for bio
Can we implement a system for user remarks during registration for admin review?
User customizable theme components (how-to)
Add custom fields to signup and login
Can add short message to verify? Just input phone number can sign up
Export custom field for users in discourse hosted forum
Customizing Sign-up and Log in
Links in additional fields
Grouping poll results by user custom field
Disclaimer for tutorials
How to add custom logic input on the signup page?
Terms of service changes in Discourse platform
Custom user fields not available in api
Disable account confirm emails when creating users via API
Grant Custom Badge Upon Reading ToS
Required vs. optional sign-up fields
Adding users to groups through custom field automation
Restrict the users to post in the groups who haven't uploaded their profile picture
Customize Your Site Branding
Allow users to block keywords
Terms of Service Checkbox
Hidden User Fields
Social Features
Where in Discourse can users publicly share PII?
Linking "static" information about member to topic posted
This freaking software works so well I can’t even
Extend Existing Controller?
"Fake" OAuth Provider?
Requiring acceptance of terms and conditions
Extend Existing Controller?
Clickable Social Icon Links on Profile
Custom user post display
Adding non-visible user custom fields to the API
Seeking Advice: making a discourse forum hyper local
Using Discourse as a social media platform