Description
This filter allows you to filter the views available in the WP Users > All Users screen. You can use this to add custom views when used along with wpmem_query_where
Parameters
$views
(array) (required) An array containing all possible views.
$show
(string) (optional) The currently selected view (if a view is selected).
Examples
This example shows how to use wpmem_views_users to add a custom view generated by wpmem_query_where.
/** * This adds a custom query that can be used in the Users > All Users filtered views. * * Set the variables according to comments noted in the snippet. You will need to * set values for the $view_name (a unique slug), $meta_key, and $meta_value as * noted below. */ add_filter( 'wpmem_query_where', function( $query_where, $show ) { // Set these accordingly: // The view name: $view_name = 'my_unique_view_name'; // The meta key of the field you are filtering by: $meta_key = 'my_field_meta_key'; // The value of the field you want to filter by: $meta_value = 'the field value'; // Don't change this: $query_where = wpmem_add_query_where( $query_where, $view_name, $meta_key, $meta_value ); return $query_where; }, 10, 2 ); /** * This adds the link for the custom query you created above. * * Similar to the snippet above, you'll need to set the variable values * to be used. Note that some of them need to be the same as what you * set in the above snippet (the field name and value and the filter name). */ add_filter( 'wpmem_views_users', function( $views, $show ) { // Displayed value of your filter link in Users > All Users $name = "My Filter View"; // Custom view name (should match $view_name used above) $view_name = "my_unique_view_name"; // The meta key of the field you are filtering by (should // match what you're using above, this is for the count) $meta_key = 'my_field_meta_key'; // The value of the field you want to filter by (should // match what you're using above, this is for the count) $meta_value = 'the field value'; // Don't change this: $views = wpmem_add_user_view_link( $views, $name, $view_name, $meta_key, $meta_value ); return $views; }, 10, 2 );
Notes
This filter only adds/removes filter view links in the Users > All Users screen. If you are adding a custom view, use this filter to add the link. You’ll need to also use wpmem_query_where to add the SQL parts for the custom view.
As of 3.4.5, there are API functions in the admin API for simplifying the adding of custom user views so that you do not have to write all of the code necessary to create the “current” class for the link and the count for the number in the view. You can use wpmem_add_user_view_link() to add a custom view link (or multiple view links).
It is highly recommended to use a unique prefix for the custom view slug. For example, if you have a custom view slug of “custom_view” and your site name is “My Site”, use “ms_” (thus making it “ms_custom_view”) to prefix any custom view slugs to minimize the chance of them conflicting with something in the plugin.
Changelog
Introduced in version 3.3.0
Source
wpmem_views_users is located in includes/admin/class-wp-members-admin-users.php