I created the Members post type and made it a parent of Reviews post type.
Thinking about mimicking the wordpress user profiles and redundancy of values got me to thinking about how this plan will work with the user registration, member profile post creation, displaying, editing flow etc.
I apologise for the lengthiness of my support requests and thank you for your patience, but I have read several of your threads dealing with membership sites and would greatly welcome your opinion and thoughts on the flow detailed below. Please tell me where you see issues arising and if somethings aren't possible or there are better ways to achieve my desired output.
Hopefully the details will help others contemplating similar issues too.
=====================
-------------------------------------
Registration of new users
-------------------------------------
=====================
When a user registers make it a two step process.
Step 1 > WordPress User Registration
CRED New User Form - only contains necessary information required by wordpress
* Username (warning that this can't be changed and will be their site handle)
* Email
* Password
With message at bottom above the submit button with something like, "Please click submit to continue to profile creation".
When user submits redirect them to...
Step 2 > Member Post creation
CRED submit post form - contains custom fields mimicking wordpress user fields
*First name, Last name
*Biographty (about me)
*User image/photo
*Social Media links
*Anything else.
As each user has a membership post, which is also parent to their reviews, I can use views and templates to allow users to see and search for each other and their reviews.
----------------------------------
Issues to be considered
===================
1. Membership posts are created separately from User profiles, so it's possible for users to not complete step 2. They may register and then click through to different area of the site before completing their Membership post.
>>>>Solution
a). Mitigate likelihood of this happening through direction in user experience. Using visual and text cues to frame registration as just 2 steps in the same process. Use indicators such as, 'nearly finished' etc. Create similar experience to setting up a phone or OS.
b). Include a terms of service or membership agreement that clearly states that if they do not complete step 2, their account will be deleted.
c). Is it possible to hide elements of the site via html conditionals and layouts? If a user hasn't created a 'Member' post, ie completed the registration, then menu links don't appear, the only links available is a 'logout' link. Whenever a member who hasn't completed a 'Member' post logs in, this is all they see.
===================
2. Membership posts are just custom posts created by users and not really user profiles, therefore users can create multiple member profiles.
>>>>Solution
Step 2 is carried out on a 'your membership' page, the same page that a user is directed to when they login.
This page has a view that queries 'Members' posts, filtered by 'posts authored by the currently logged in user'.
a). If the user has registered and created their 'Members' post, then the page will display their membership information and an edit link.
b). If the user is a new user or hasn't completed their 'Members' post then the view would normally return a "no posts found", replace this statement with the CRED create 'Member' post form.
So the form to create a 'Member' post only shows if a user has not created one before.
Viewing your profile is then done via this 'My Membership Page', showing a view that displays content from the currently logged in users 'Member' posts, and another view displaying content from the currently logged in users 'Review' posts.
Viewing other peoples profiles is done by viewing their Membership posts. I will create another page to display a view of members via parametric search, and or table, and or selection of reviews etc.
The content template for 'My Membership' page and 'Member' posts will be nearly identical.
Users will also be kept out of dashboard area via (many) plugins and custom code to hide admin bar so they can't create more members profiles:
enlace oculto
In addition to your advice I also found these support threads useful:
https://toolset.com/forums/topic/cred-user-profile-editing/
https://toolset.com/forums/topic/making-a-linkedin-style-member-directory-urgent-request/
====================
3. Post Author Links on Review Posts will direct to WordPress User author archive and not the users 'Members' post.
>>>>Solution
Remove and replace author link
a). Perhaps remove this link via css
.class {display: none !important}
- although it will still be searchable by robots
b). Or Edit php, find and change
to
c). Or Use a theme that doesn't display author link
d). Replace the original author link with a link to the 'Member' Post created by the same author.
====================
4. Users who haven't completed their 'Members' post will still be able to post reviews of books.
4.1 Other users who read their review can't click a link through to their 'Members' post to see their profile and other reviews they have submitted.
>>>>Solution
Have the link, from 3 d) above, appear conditionally:
If the review author has created a 'Member' post, then show the link to their member post.
If the review author hasn't created a 'Member' post show a link to:
a). An archive page? if so then I still need help created author archive pages!
b). A hidden page that contains a view showing the reviews of that user, via their user_id. For this will I need custom code, can you detail it for me?
c). Can you think of any other elegant solution.
4.2 On the 'All Members' page or archive that contains a view and parametric search of all the members profiles, these users won't appear.
>>>>Solution
No ide (other than below), can you think of any?
=====================
Membership agreement solution.
In membership agreement, state that all users who don't complete their members profile will have their accounts and reviews deleted as part of the terms of service.
Give them a timeframe to complete their 'Members' post.
Whenever a user who hasn't completed their 'Members' post signs they will be greeted with the create 'Member' post form, and a warning that if they don't complete it their account will be erased.
Is there anyway to automate a countdown?
A little unpleasant but will mitigate issue 1 and solve issue 4, and with a time cost due to administrator management of membership.
Do you know of any plugins that work well with toolset that can help with such things?
======================
Thanks for all your help.