Skip Navigation

[Resolved] Directories

This support ticket is created 5 years, 5 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.

Sun Mon Tue Wed Thu Fri Sat
- - 14:00 – 20:00 14:00 – 20:00 14:00 – 20:00 14:00 – 20:00 14:00 – 20:00
- - - - - - -

Supporter timezone: Asia/Ho_Chi_Minh (GMT+07:00)

This topic contains 1 reply, has 2 voices.

Last updated by Beda 5 years, 5 months ago.

Assisted by: Beda.

Author
Posts
#1279963

Tell us what you are trying to do?
(I am very happy with Toolset and apology for a long email but your help will be much appreciated - my email is ...)

Website setup: Toolset bundle; ; Ultimate Member UM (memberships) and UM theme; Website Tools (forum), Elementor Pro.
The site has forums - Website Tools and their plugin embedded (this is forum software and single sign on integreation with WordPress).

We require member registration (free of charge) to use our website;
UM user profiles are extended and include e.g. "Skills" and "Interests";
we have CPT "Project" with various fields including "Project" participant name (all are registered members) and roles in the project (ProjectLeader, ProjectParticipant,...).

(Note: all scenarios below include extended membership profiles processing.
If scenarios would involve only CPT's, than we have no issues as Toolset Viewshas complete answers).

1/ Prepare a searchable form with the result set in a grid - e.g members who have Skills = "Teacher" and Interests="art".
Grid has single column: clickable name so that e.g. email may be sent or this user can send a private notification to that person

2/ I have skills e.g. "teacher, software, skating" - find me matching members

a/ ranked by total overlap % (three identical skills, two skills, one skill)

b/ prepare three separate results sets
skill="teacher": name1, name2,...
skill="software": name4, name8,...
skill="skating": name6, name21,...

c/ prepare grid with two columns:
member name, "ProjectTitle"
where member has role="ProjectLeader"

3/ Due to single sign on and integration with the site, can we find members of the forum category called "chemical engineering"

Is there any documentation that you are following?

Is there a similar example that we can see?

What is the link to your site?
hidden link but not relevant to questions as I did not do development yet

#1280027

Hello, I removed your email from the thread as that is public, I am not sure you want to share it - I saved it in the working notes of this ticket, however, we cannot communicate by other means than this forum (https://toolset.com/toolset-support-policy/).

Let's see if I can help you here with the problem. As I understand it you struggle to create lists of your native WordPress users.
Those Users have some additional user Meta, provided by the UM Plugin. You want to list those users and filter them according to some of that data.

That's not possible, because User Views cannot have Custom (Front end) Searches. If you require this in Toolset you should submit this suggestion here https://toolset.com/home/contact-us/suggest-a-new-feature-for-toolset/.

Now. This is what's the vanilla Toolset user would say 🙂
Truth is, you can do it but it'll require a few custom approaches.

There are mainly 2:
1. Create a Post type that mimics the user and all that data. This is best understood by reading this DOC: https://toolset.com/documentation/post-relationships/how-to-create-custom-searches-and-relationships-for-users/
2. Create Custom Inputs in the User View where you list those users - Custom HTML select inputs, that lead to a given URL passing a URL attribute with the value filtered for, so the User View backend Query filter listens to it. That shows then updated (filtered) results on the frontend!
It's however not a native solution, it requires a bit of work.

Let's go thru it on an example where I have (any) User Field (my-user-field) and a list of Users created by Views.
I want to filter that list of all my users and find only the ones that have "programmer" saved in "my-user-field".
Note, if your 3rd Party does not store native usermeta but uses custom database columns for saving this data, then this will not work

1. Create the Field in Types (in your case, the 3rd party seems to already provide all needed Custom Fields for Users)
2. Make sure, the users are existing and populated with the right values in those fields.
3. Create a View, query the Users you want (the given role)
4. Complete the View's Loop, this is where you will insert (maybe using the Loop Wizard) all those grids and clickable Email links related to the users shown in the list. We don't help with design or HTML/CSS but the Wizard is pretty strong, and with some HTML and CSS knowledge you'll design the loop output quickly. You can even use Elementor Template directly in the Loop of the View, if you want, however, let's keep it simple for now and use only Views.
5. Now the tricky part: the front end filter.
- create a Custom HTML select or another kind of input, populated with the values you want to search for in the Users fields. In my case, this is "programmer", "teacher" and "professor". The important here is that the Input if selected, leads a specific URL passing specific URL parameters.
For example, we could create 3 simple links:

<a href="site.com/page-with-view/?url_param_one= programmer">Show Programmers</a>
<a href="site.com/page-with-view/?url_param_one= teacher">Show Teachers</a>
<a href="site.com/page-with-view/?url_param_one= professor">Show Professors</a>

==> Insert this in the View that lists your users, in the Output Editor, for example, or just above the View when you insert a View in a Page.
- In the same View, and add a Query filter for the Custom Fields, where the values are stored (in my case, this is my-user-field, remember). Make sure the Query Filter does filter the wanted field by URL parameter and insert as URL parameter the ?url_param you used in above links (or inputs). The resulting query is:

Select items with field:
my-user-field is a string equal to URL_PARAM(url_param)

6. Finally, insert this View in the page where you want the users to see and filter this list.

Now you should see 3 links (Show Programmers, Show Teachers, and Show Professors) and below them, all Users listed at once.
Now you can click on any of those 3 links to show only programmers, or teachers, or professors.

This works because you pass the URL parameter value in the link, to which your view listens to in the Query.
It's basically the same as Post Views Filter do in the front end however more "rustical", since it's not a vanilla input but a manually crafted (and populated) one.

Does this help to work around this limitation?
Please if possible still submit the feature suggestion - it's good for future improvements.