Skip Navigation

[Resolved] How can i filter a view based on USER selected "Post Author"

This support ticket is created 4 years, 6 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
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: Asia/Hong_Kong (GMT+08:00)

This topic contains 3 replies, has 2 voices.

Last updated by Luo Yang 4 years, 6 months ago.

Assisted by: Luo Yang.

Author
Posts
#1625055

hidden link
Refer to screenshot.

Currently this view can be filtered by keywords BUT
I would also like it to be "filter-able" based on Post Author (ideally from a drop down of all current user names).
Is that even possible?

#1625101

Hello,

There isn't such kind of built-in feature within Toolset plugins, you might consider custom codes, for example:
1) Create a custom shortcode to output the users as a dropdown:

add_shortcode("list-of-authors", "list_of_authors");
function list_of_authors() {
	$out = '<select name="author-filter">';
	$out .= '<option value="">All Users</option>';
	$users = get_users();
	foreach ($users as $user) {
		$selection = (isset($_GET['author-filter']) ? $_GET['author-filter']: '');
		$out .= '<option ' . selected($user->ID, $selection, false) . ' value="' . $user->ID . '">' . $user->display_name . '</a>';
	}
	$out .= '</select>';
	return $out;
}

2) Put above shortcode into the custom search form:

[list-of-authors]

You can setup specific parameters in get_users() function, see WP document:
https://developer.wordpress.org/reference/functions/get_users/

#1626645

I'm not sure I understand properly how to incorporate this shortcode into the view "filters".

It doesn't necessarily HAVE to be a drop down list.
A string search box (to search and filter for part matching usernames) would also serve the purpose.

#1628503

As I mentioned above there isn't such kind of built-in feature within Toolset plugins, you can put the custom shortcode into the your view's custom search form. For example:
1) edit the post view, put that shortcode [list-of-authors] into section "Search and Pagination"
It will pass author's id as URL parameter.

2) in section "Query Filter", add a post author filter:
Select posts with the author's id determined by the URL parameter "author-filter" eg. yoursite/page-with-this-view/?author-filter=1

for the new question:
A string search box (to search and filter for part matching usernames) would also serve the purpose.

I assume you are going to filter the result by: author's name "LIKE" user's input.
No, there isn't such kind of built-in feature within Toolset Views plugin, see WP document:
https://developer.wordpress.org/reference/classes/wp_query/#author-parameters
There isn't "LIKE" comparison