Problem: The user was trying to setup a simple membership website (where members can register and post new), searched the forum and tutorials and didn't find a definitive tutorial for doing this.
Solution: The tutorials are available now.
This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.
Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.
I'm trying to setup a simple membership website. I've searched the forum and tutorials, and see others have asked the same question but there doesn't seem to be a definitive tutorial for doing this. I'm trying to do something similar to the site featured in your blog 'Building a membership site with WordPress' but instead of addings listings, members can post news items. It's a great blog post and overview, but doesn't really give enough detail for me to setup the Toolset elements for my own site.
I would like a way for members to register with our site, be able to set up user profiles and post new items into their own group news section. Their profiles should be able to be edited if required. I've used Gravity Forms for the registration forms, and these register member accounts into either two separate user groups - Community (free) and Associate (paid). I've set up the member/user groups via Access custom roles. Gravity Forms will also be used to take payments at the registration stage. It's a pretty basic membership style website.
Using Types I've created a post type called "Profiles", and Taxonomy Name 'Members', and into this I setup two categories - Community and Associate. I've also setup Custom Fields for profile details such as email, address, url etc.
Basicailly once someone has registered with the website into the relevant user group (e.g. Community members), they're sent a link to their account/profile page where they can set up their details, and return to this and edit it at any stage if they wish. I can setup the email with the link via Gravity Forms.
The bit I'm stuck on is the Profile creation and editing section. I've used Cred to create a form using the "auto generated" option to use fields in my profiles post type and followed instructions here: https://toolset.com/forums/topic/help-using-toolkit-to-create-user-profiles/
I'm stuck now though - I need to create a page that displays the profile, to which the member is taken to after submitting their profile details, and on the front end of the website display separate list pages/archives for both member categories, with clickable links to main profiles. The form I've created enters information to the site but I'm not sure how to display this. Could you please tell me how to create a profile page based on the details gathered above, and a member list page that displays results from the relevant member group? The separate member profile detail page would show a list of recent posts by that member, as well as their profile details.
Can you please provide some example URLs to what you have done so far, for a better understanding?
Also please provide some debug information about your site. Please see https://toolset.com/faq/provide-debug-information-faster-support/ for more information. I have enabled debug information area for your next reply.
Thanks for the reply - I've managed to setup most of the above - I've created a custom Content Template and used this for the custom Profile Type - this has been used for their Profile page (hidden link) and displays their profile details, which they have submitted via a CRED form, and also a page with a list view of member profiles (hidden link), filtered by the relevant taxonomy category. All of this is working fine.
The problems I still have are this:
The submitted profile information via the CRED form (hidden link) is linked to the logged-in registered member that has submitted it via their account section, in that it appears on their profile and edit page, but they seem to be able to add additional profiles. The latest of these will appear when they click the link to edit their profile. How do I ensure that each registered user can only submit one profile? On the page with the form I'm using the shortcode: [cred-form form="Community Member Profile" post="[wpv-post-profile-id]"] and I've used the additional function listed here: https://toolset.com/forums/topic/help-using-toolkit-to-create-user-profiles/ but it doesn't seem to have any effect
Also, on the separate member profile detail page I would like to show a list of recent posts by that member, as well as their profile details. I've created a separate View, 'Member Posts' and added this to the Profile custom Content Template but it's just displaying all posts on the site, rather than just the posts created by that member. The View Content Selection is set to display Post Types>Posts, and I've added a Query Filter 'Select posts with the author's username determined by the URL parameter "author-filter"'. I tried using the Author ID with this, and 'Post author is the author of the current page', and also 'Post author is set by the parent View' but none of these displayed posts specifically by the member who's profile I am viewing.
I'm just stuck on the two issues above, if you can help me fix those I've pretty much cracked it.
Thank you for providing the details. Please allow me some time to read it thoroughly, understand and form a solution.
I will update you soon on this.
ok thanks - I've checked my site and it seems the Profile custom post type isn't associated with the user that posted it, so I guess that's why the code I used from the forum post mentioned previously that should limit 1 profile per user isn't working.
I need a way for registered members to be able to add their profile details via a CRED form, and for this to be linked to that member only.
Also I'm unable to display a list of news posts on the member profile page that have been created by that member. I've looked through all the available filters and tried them, but none of them seem to provide the option for what I'm trying to achieve.
I really wish you had a proper detailed tutorial available for creating a basic membership site with editable user profiles - it must be one of the most popular uses of the Toolset plugin but there's absolutely nothing available. I asked for this a year ago and was promised more tutorials were going to be available, but there's nothing. It wuld save you a lot of time answering support requests if you added a tutorial to your site.
ok another update, I have managed to get the submitted Profiles to be associated with the member/user that submitted them, but I still have the issue with members being able to submit more than one profile. I need a way to limit this so they can only add one profile.
And still unable to display a list of news posts on the member profile page that have been created by that member.
Any help welcome, but please can we speed this up a bit. Thanks.
Thank you for providing all details and your efforts regarding all this. Let me try to provide some solutions, please consider followings:
A) "I need a way to limit this so they can only add one profile"
You can wrap the short code (which displays the form) or whole view/content template in a conditional block, so you can show/hide the form accordingly.
For example, I assume there's one such custom field in user account, which you can use to determine if the profile was added. And based on that you can decide either to present the "Add Profile" page/form or not, by using [wpv-if]. The following code sample demonstrates this, assuming a custom field (wpcf-profile-available=1 or 0) in the user account (user meta field):
[wpv-if evaluate="'[types usermeta="profile-available"][/types]' != '1'"] .... render add profile form here, so user can add a profile ... [/wpv-if] [wpv-if evaluate="'[types usermeta="profile-available"][/types]' = '1'"] .... A message stating that user has already created a profile, or a link to edit profile page ... [/wpv-if]
- https://toolset.com/documentation/user-guides/conditional-html-output-in-views/ for more information on [wpv-if]
- https://toolset.com/documentation/functions/ for more information on Types Fields API
B) "display a list of news posts on the member profile page that have been created by that member"
The same [wpv-if] can be used for this purpose. Please see following sample code of a View's loop, which filters out the posts by currently logged in user:
<wpv-loop> [wpv-if evaluate="'[wpv-current-user info="login"]' = '[wpv-post-author format="meta" meta="user_login"]'"] <li> [wpv-post-title] (Author: [wpv-post-author]) </li> [/wpv-if] </wpv-loop>
- https://toolset.com/documentation/views-shortcodes/#wpv-current-user for information on [wpv-current-user]
- https://toolset.com/documentation/views-shortcodes/#wpv-post-author for information on [wpv-post-author]
I hope this will help you finishing your project. Please let me know if I can help you with anything related.
Thanks again for your patience, have a nice day 🙂
Thanks for the reply. I'll try the first part of your reply, which makes sense. However the second won't work for me:
[wpv-if evaluate="'[wpv-current-user info="login"]' = '[wpv-post-author format="meta" meta="user_login"]'"]
as this will only filter posts by the logged in author, and I tried this option previously. What I'm trying to achieve is a list of posts by the author of the profile page being viewed - regardless of who's viewing it. So for example a visitor to the site can click on the profile link for 'Steve Hillage', and be taken to a page containing the Steve Hillage profile details, and also a list of all posts Steve Hillage has posted on the website with a link to each full post.
For "...a visitor to the site can click on the profile link for 'Steve Hillage', and be taken to a page containing the Steve Hillage profile details, and also a list of all posts Steve Hillage has posted on the website with a link to each full post...", I will suggest to:
A. Create a view querying "users"
B. Filter by URL parameter (i.e. profile-author)
C. Create a child view querying posts, filtered by parent View (A)
If you have already a view covering A and B, you just need to create a child view (C) and include this view in the parent view. So when the profile of an author is loaded, the child view will load the posts by that author as well.
Thanks but do you have an example of how either of your responses would be integrated into a standard membership website?
I can't get the site to limit one profile per user, despite wrapping the 'if' statement and checking to see if a field in the submitted profile exists or not. It just doesn't work for me. The 'nonce' form issue mentioned in other threads today isn't helping either.
And I don't understand how to do your second solution. It's very hard to work out where this goes - into what view, what page, what form, what type...without an actual example to work from.
The problem with Toolset is that you haven't created enough real-life examples of how it can be used in standard WordPress membership sites, and so we have to pick through hundreds of pages of documentation and some how work out how it all patches together.
I don't know how to do this...this should be a standard use for Toolset and yet after a year of promises you still haven't created tutorials on how to set up a basic membership based website.
I've fixed the 'nonce' issue by reinstating an older version of CRED, but I still have no idea how to ensure each member can only submit a single profile. At the moment anyone can submit as many profiles as they want to, and they don't seem to be connected to the user that has submitted them. Also a duplicate blank submission is sent when a profile is added. I've tried to piece together your instructions but it's all too vague and I've no idea how to relate this to my own setup.
Similarly the user posts, I haven't got the first idea how to implement your suggestion without seeing some sort of example in action.
Can someone from Toolset PLEASE provide a working example of a simple membership site with editable author profiles and user post lists.
Membership site addresses several things, which I believe we can not cover in this single thread. I will suggest to look at a case study in our blog at https://toolset.com/2015/03/building-a-membership-site-with-wordpress-a-challenge-or-a-piece-of-cake-a-case-study/ - which addresses a real-life example and describes in detail. You can find several other case studies in our blog too.
We have also a good resource at https://toolset.com/learn/ - showcasing some useful tutorials.
I will encourage you to open separate threads for each query, so you will get more focused solution (i.e. nonce issue and etc).
We also offer a Custom Coding Service (hidden link) to build customized solutions for you, based on Toolset plugins.
"I will suggest to look at a case study in our blog at https://toolset.com/2015/03/building-a-membership-site-with-wordpress-a-challenge-or-a-piece-of-cake-a-case-study/ - which addresses a real-life example and describes in detail. You can find several other case studies in our blog too."
None of the examples or tutorials on your website cover setting up a standard membership type website, with a simple update-able member profile page. I know this because I've been checking for over a year. The blog post, by a third party, is great and it inspired me to revisit your plugins - but it doesn't provide any detail. For example it gives a list of the Views used, but no information on what they include or how to set them up. I've also searched the support forum for help but threads on this topic are mostly unresolved or don't provide the details I need.
"I will encourage you to open separate threads for each query, so you will get more focused solution (i.e. nonce issue and etc)."
That's impractical for your customers, and your support staff. It takes a minimum of 24 hours to receive a response to each query and you don't work weekends, so it would take weeks to build a site from scratch this way. It also means you have to answer basic 'how to' questions repeatedly from customers like myself which wastes your time. But also as I don't have a basic tutorial to work from - I don't always know what questions to ask - or if I'm doing things the right way.
"We also offer a Custom Coding Service (hidden link) to build customized solutions for you, based on Toolset plugins."
I don't need a Custom Coding Service - I need proper documentation for the product I've purchased from you. You're promoting your plugins as a 'Toolset', but you're not providing adequate tutorials and documentation on implementing them together in a standard membership-style website. Instead you're leaving it to third parties or directing customer queries to individual plugin guides.
I abandoned your Toolset a year ago because of the lack of relevant tutorials, but was drawn back in due to the membership website blog post. Yet again though I've found there's no proper guides to back it up.
I'll carry on struggling to work this out myself, but you could make this a much better experience for your customers if you just created some basic tutorials.
I value your concerns and am really inclined to provide you as much support as I can.
However, I have just referred this thread to my seniors, for some expert advise. I have also addressed the issues related to finding appropriate documentation and tutorials.
I will update you as soon as I hear back. Thank you for your patience and cooperation.
Links to bits and pieces for separate plugins isn't going to help, because it still leaves it up to me to try and figure out how to piece everything together, which is the most difficult part of the process. Links to individual guides are great for fine-tuning and customising, but not helpful for setting up a new system, such as a membership site with editable profiles.
I asked for more tutorials over a year ago, and you've added nothing since then. I can see your customers giving up, like in this thread: https://toolset.com/forums/topic/do-you-have-a-step-by-step-guide-for-creating-a-member-directory/
I've been trying to setup a simple, membership site using Toolset for three weeks now and have been stuck for the last two. And I'm still nowhere close to being given help to fix the issue.
You're advertising a 'Toolset', but you're not providing adequate tutorials for real world usage.
It's no wonder I abandoned your Toolset last year. I would never recommend your system to other developers or clients with such appalling product support.