Skip Navigation

[Resolved] Looking for advice on how to structure post types/user types to achieve my goal.

This support ticket is created 7 years, 4 months ago. There's a good chance that you are reading advice that it now obsolete.

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.

No supporters are available to work today on Toolset forum. Feel free to create tickets and we will handle it as soon as we are online. Thank you for your understanding.

Sun Mon Tue Wed Thu Fri Sat
8:00 – 12:00 8:00 – 12:00 8:00 – 12:00 8:00 – 12:00 8:00 – 12:00 - -
13:00 – 17:00 13:00 – 17:00 13:00 – 17:00 13:00 – 17:00 13:00 – 17:00 - -

Supporter timezone: America/New_York (GMT-04:00)

Author
Posts
#546447

I'm working on a redesign of an existing site, where I've used Toolset before, but I have different goals now, and would like some advise on how to best implement what I'm trying to do. I'm hoping it's OK to ask this type of question here.

This website is for an annual conference, where there will be 150 or so Presenters, with these Presenters offering one or more Workshops. On the current site, I set up two custom post types: Presenters and Workshops, but wasn't able to set up the Parent/Child relationship (this was several years ago).

Now, I'm debating whether I can keep the two post types and add that Parent/Child relationship (Workshops are children of Presenters), or if I could accomplish this creating a User Role of Presenter, and having the Presenters tied to their Workshops as the "author" of their Workshops posts.

The Workshops will be displayed in table that I will build so that it presents the conference schedule (this part I can handle). I would like users to be able to click a Workshop title to see the full description. In addition, I'm planning on using a tooltip plugin to display a Presenter bio (name, title, headshot and description), so I'm wondering if that info could be pulled in from the User Profile if I went that route instead of from the Presenter parent post.

The other thing I'd like to do is use CRED to allow the presenters to either create their own profile, or create the Presenter Post, and in either case, be able to come back and edit their Presenter info, as well as create/edit Workshop posts.

It's not 100% necessary for the Presenter to be logged in to edit this content. Front-end forms wold be fine.

Again, I hope it's OK to use this forum to ask more of a "project planning" question.

Thank you!

#546578

Hi! I'll try to respond to your requests here.

I'm hoping it's OK to ask this type of question here.
Yes of course, we're happy to help with planning questions here.

Now, I'm debating whether I can keep the two post types and add that Parent/Child relationship (Workshops are children of Presenters), or if I could accomplish this creating a User Role of Presenter, and having the Presenters tied to their Workshops as the "author" of their Workshops posts.
You could probably do either, so it's important to understand both approaches to come up with the best solution.

One potential drawback I see for the user role-based approach is that it's not possible in native WordPress to assign more than one author to a post. If your Workshops can have multiple presenters, then this could be a bit of a challenge for you.

One potential problem I see with the Presenter post type is that you would be managing users in more than one place, which can be a pain. You also would lose WordPress's built-in permissions system for authors, editors, contributors, etc., as well as any Access role-based restrictions you may wish to apply.

I would like users to be able to click a Workshop title to see the full description.
Okay so Workshop will be a custom post type, which I think you're already covering. No problem.

In addition, I'm planning on using a tooltip plugin to display a Presenter bio (name, title, headshot and description), so I'm wondering if that info could be pulled in from the User Profile if I went that route instead of from the Presenter parent post.
I assume this can be accomplished by adding the correct markup to your table - that's how most tooltip plugins work. If so, then you can use shortcodes to grab this information from either the Presenter post, or the user profile, depending on how you decide to set this up, and insert it in your table.

The other thing I'd like to do is use CRED to allow the presenters to either create their own profile, or create the Presenter Post, and in either case, be able to come back and edit their Presenter info, as well as create/edit Workshop posts.
Okay sure, CRED can handle these types of forms for you. I think the user profile approach would be more straightforward.

It's not 100% necessary for the Presenter to be logged in to edit this content. Front-end forms wold be fine.
I assume you mean that you don't need the Presenter to log in through wp-admin to be able to update their own profile or Workshop posts. This approach can be accomplished with CRED and Access. Some type of login would be required to restrict access to a user's profile or Workshops, but it wouldn't need to be through the wp-admin area. You can provide your own custom login forms in the front-end of the site.

#546643

Hi Christian - Thank you for your detailed response.

I've been working on it a little since yesterday and wanted to describe what I've done, and throw in a couple more questions for you.

I forgot to mention yesterday that the site owner wants to be able to approve a Presenter prior to their information showing up on the site, so I'm pretty sure I would have to go the User route, in order to include this user approval step.. or could you suggest a way to do that without using a Custom user role?

Because of the approval requirement, I tried Gravity Forms with their User Registration add-on, which allows me to create a form to register the user, and also provides that approval functionality. Gravity Forms also makes things like an Address field easier to set up (preloads US states, for example) and has an email / confirm email element that makes sure the emails are typed in correctly.

I still used Toolset to set up the Custom User with its Custom User Fields, and can assign the data from the GF form to those custom user fields. That will let me access that content for use when displaying the Workshops and Presenters. And you're right about how I'm going to do the tooltips... that will be output in the View by adding the markup needed.

I see that I can create a query that filters by author, and have several options for how to configure that, so I think I can figure that out. I looked through last year's content, and there were maybe 2-3% of the workshops that had more than one presenter, and we could most likely reference additional presenters in the workshop description, so I think I'll be OK using the Custom User/Custom Post Type combination.

But just for my own education... if I were to have to Custom Post Types for both Presenters and Workshops -- you had mentioned using CRED and Access to add custom login forms ... is there a way to create some type of login screen just to provide access to certain pages, but without setting up users?

Again, thanks so much for your help in helping me figure out my game plan with this project.

#546649

or could you suggest a way to do that without using a Custom user role?
- If Presenter is a custom post type, you could set it to "Draft" status until the main site administrator approves it by publishing the post.
- If Presenter is a user role, you could also use a custom user field that stores information about whether or not a user is approved. By default that field would be "unapproved" until the admin changes it.

if I were to have to Custom Post Types for both Presenters and Workshops ... is there a way to create some type of login screen just to provide access to certain pages, but without setting up users?
Toolset Access and WordPress in general are designed to limit access to certain content based on permissions, and those permissions are defined per User or per User Role. Any approach that limits access to certain areas of a site based on other criteria would require custom code, or the implementation of another 3rd party plugin. On the other hand, there's nothing stopping you from creating 3 or 4 Users and sharing their login information with multiple site visitors depending on whatever criteria you determine. Your site visitors wouldn't have to create an individual profile, they would just use one you have already created. If I understand what you're trying to accomplish, this might be an option for visitors who have no need to publish their own content, i.e. different authors require different user profiles.

#546652

Thanks again, Christian. You've given me enough information and ideas to go on.

I appreciate it so much.