Tell us what you are trying to do?
To create a site similar to hidden link.
The practitioner directory and how it works is pretty clear from the front end of the site.
However, there is another piece to this website: If you want to save a listing to "Inbox" as shown here:
hidden link
You must create a free account. Once a free account is created, the user can save listings and events and they show inside their user dashboard (I'm attaching a screenshot of dashboard for registered members)
The website I want to build will be a listing of practitioners and events plus the piece explained above.
So two components, two levels of access to the website: Practitioners for listing and editing their listings; registered users for saving practitioners and events.
Before I dive deep into Toolset, I wanted to confirm that this can be done.
Can you please let me know?
Thank you.
Hi, yes it's possible to set up multiple levels of access restriction based on User role (or lack of role for guests). There are different ways you can achieve this with Access. For example, you can allow or disallow use of specific Forms based on User role. This can help you differentiate between who gets to add/edit Practitioner posts. Or you can allow or disallow the ability to access posts on the front-end based on post group. Assign an arbitrary post group to each post, and set each User role's permissions per post group. More about Access here: https://toolset.com/documentation/user-guides/setting-access-control/
For saving practitioners and events, it's certainly possible in any case but you would need to determine exactly what this "saving" means, and how it's accomplished technically. I assume you'll create a post for each Practitioner. Then you want to associate a Practitioner with the current logged-in User. Relating Users and posts isn't exactly straightforward. Toolset Types post relationships are only between posts, so they don't apply. Your options are:
- Make the User the author of the post. This obviously only works when one User can be associated with each post. Ideal for relating a Practitioner User with their own personal Practitioner post, but not ideal for visitors "saving" Practitioners, where many Users may "save" each Practitioner as a favorite or whatever you want to call it.
- Use a proxy post type and post relationship, as explained here: https://toolset.com/documentation/post-relationships/how-to-create-custom-searches-and-relationships-for-users/ This approach is more complex to set up, but easier to manage in wp-admin because you can see post names instead of just IDs. It also means that each User has a corresponding post somewhere in the database.
- Use a repeating custom field on the User's profile to store "saved" Practitioner post IDs. This allows many Users to save the same Practitioner, but it's not straightforward to manage in wp-admin because only the Practitioner post ID is used, not the Practitioner name. See this ticket: https://toolset.com/forums/topic/method-for-user-to-choose-post-as-favorite/
- Use a repeating custom field on the Practitioner post to store "favorited" User IDs. Similar to the above, difficult to manage in wp-admin because IDs are used, not names. See this ticket: https://toolset.com/forums/topic/favorite-posts-by-logged-in-user-add-to-remove-not-working-properly/
My issue is resolved now. Thank you!
also wanted to thank you for the very detailed response. I will really appreciate that.