To create a custom field, click on the Extra Fields button from the Control Panel, then click New from the top right toolbar, and you will be directed to the page:
In the right panel, there is a "Viewing access" parameter where you can select who can see the field of the frontend. Just set the "Viewing access" level for the field, and this field will be visible on the frontend only for users with this access level. Great if you want to show the fields only for registered users or users with a specified Access level
Please note that when you're using the fields within Profile, you can also select the option "Use in registration" - this way users will see this field when registering (in the registration form). Combining the mentioned feature with "Viewing Access" you can let users fill the field that will later be visible only for the administrator (for example if you as an Administrator want to gather some information from the user that will not be later visible for other users browsing the profiles).
Each custom field that is assigned to a Fields Group gets the CSS class that can be used for styling.
See the example:
In this case. Two fields: Year and Millage were assigned to the "Important fields" group.
As you can see in the console both of these fields got a new class: group_Important-fields.
Selecting a given field type from the list results in new settings relevant to the selected field type.
Let's take a look at the detailed overview of all available field types:
The Input Box field is used for many types of content. It is also the field type used for numbers.
You can define the "Input type" by choosing one type from the list:
You can choose from text, number, email, tel, URL, date, DateTime-local, month, time, week, password, and color.
You can also enable Joomla! Form validation for numbers if needed.
The Textarea is very straight-forward. It's a single-row field for entering text.
Define the list of options to choose from. Enter field's values in add/edit form separated by a semicolon (;)
The Radio field is similar to Checkbox, except it uses radio buttons, and you can only make a single choice. Enter field's values in add/edit form separated by a semicolon (;)
The Checkboxes field allows users to choose from predefined choices (defined values). Enter field's values in add/edit form separated by a semicolon (;)
Enter the format date based on the PHP date function. 'Y-m-d' by default.
Enter the format date (from-to) based on the PHP date function. 'Y-m-d' by default.
Set the link in the empty text field.
The image field allows users to upload an image according to the settings (requirements) defined in the backend. The image thumbnail dimensions (width/height), max image size, CSS class, and attributes can be specified during the custom field creation.