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_views_users
Parameters
$query_where
(string) (required) The “where” query for the view.
$show
(string) (optional) The currently selected view (if a view is selected).
Examples
This example shows how to use qpmem_query_where to create a custom view and display it using wpmem_views_users.
/** * 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 query for displaying a custom view in the Users > All Users screen. If you are adding a custom view, use this filter to add the query. You’ll need to also use wpmem_views_users to add the link to select the 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 any of the SQL necessary for the custom view. You only need to supply a custom slug for the view (to know it is selected) and the meta key/value of the field you are filtering the view by.
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_query_where is located in includes/admin/class-wp-members-admin-users.php