I created a custom user role called "Teacher", and added custom user fields so the teacher can specify what their teaching specialities are, e.g. "good with dogs and children."
Then I used Toolset Forms to make a page where the teacher can edit their specialties. So far, so good!
Now: I also want to track some "administration only" fields for teachers -- things that only admins are allowed to change. For example, only an admin can specify whether a teacher has passed certain tests. (My intent is to use Toolset Views to make pages where you can see lists of teachers who have passed certain tests.)
So, I added some more custom fields for the teacher role, e.g. "Has passed level 1 certification." And I did NOT add these fields to the Toolset Forms page where the teacher edits themselves. This works great, the teacher is allowed to edit the fields I want them to, and isn't able to edit the administration-only fields.
*** However, if they go to the standard built-in wordpress /wp-admin/profile.php "edit my profile" page, they can edit all those "administration only" fields I added! ***
How do I keep teachers from using the built-in /wp-admin/profile.php editor?
Or, am I going about this the wrong way, and there's a better way for me to set up "administration only" fields for users?
Hello. Thank you for contacting the Toolset support.
Have you installed the Toolset access plugin? If yes: Go to:
=> Toolset => Access Control => Types Fields tab => User Meta Fields Access section => select your custom field group => uncheck the checkboxes permissions for "Modify own fields" and "View own fields in profile" for your teacher role and save the settings.