It looks like it’s not passing any value at all so it’s just defaulting to all users. If you need to be able to filter right now you just need to add the term manually until a fix is released.
http://axoworld.com/wp-admin/users.php?s&action=-1&new_role&pw-status-query-submit=Filter&new_user_approve=pending&paged=1&action2=-1&new_role2
Just simply replace this with whatever filter you’re trying to use… pending, approved or denied.
I hope this helps. I’ll take a look at the code shortly since I also have a client that is needing this to work.
I found a fix for this if you’re comfortable digging into code and making a change. You can find it here… https://ww.wp.xz.cn/support/topic/wordpress-44-user-approved-filter-broke
Navigate to wp-content/plugins/new-user-approve/includes/user-list.php and replace lines 159 to 185 or the following code…
/**
* Add a filter to the user table to filter by user status
*
* @uses restrict_manage_users
*/
public function status_filter() {
$filter_button = submit_button( __( 'Filter', 'new-user-approve' ), 'button', 'pw-status-query-submit', false, array( 'id' => 'pw-status-query-submit' ) );
$filtered_status = ( isset( $_GET['new_user_approve_filter'] ) ) ? esc_attr( $_GET['new_user_approve_filter'] ) : '';
?>
<label class="screen-reader-text"
for="new_user_approve_filter"><?php _e( 'View all users', 'new-user-approve' ); ?></label>
<select id="new_user_approve_filter" name="new_user_approve_filter" style="float: none; margin: 0 0 0 15px;">
<option value=""><?php _e( 'View all users', 'new-user-approve' ); ?></option>
<?php foreach ( pw_new_user_approve()->get_valid_statuses() as $status ) : ?>
<option value="<?php echo esc_attr( $status ); ?>"<?php selected( $status, $filtered_status ); ?> ><?php echo esc_html( $status ); ?></option>
<?php endforeach; ?>
</select>
<?php echo apply_filters( 'new_user_approve_filter_button', $filter_button ); ?>
<style>
#pw-status-query-submit {
float: right;
margin: 2px 0 0 5px;
}
</style>
<?php
}
With the following…
/**
* Add a filter to the user table to filter by user status
*
* @uses restrict_manage_users
*/
public function status_filter() {
$filtered_status = ( isset( $_GET['new_user_approve_filter'] ) ) ? esc_attr( $_GET['new_user_approve_filter'] ) : '';
?>
<label class="screen-reader-text"
for="new_user_approve_filter"><?php _e( 'View all users', 'new-user-approve' ); ?></label>
<select id="new_user_approve_filter" name="new_user_approve_filter" style="float: none; margin: 0 0 0 15px;">
<option value=""><?php _e( 'View all users', 'new-user-approve' ); ?></option>
<?php foreach ( pw_new_user_approve()->get_valid_statuses() as $status ) : ?>
<option
value="<?php echo esc_attr( $status ); ?>"<?php selected( $status, $filtered_status ); ?>><?php echo esc_html( $status ); ?></option>
<?php endforeach; ?>
</select>
<button type="button" name="filter_status" onclick="filterstatus()" id="filter_status" class="button" value="Filter">Filter</button>
<style>
#pw-status-query-submit {
float: right;
margin: 2px 0 0 5px;
}
</style>
<script>
function filterstatus() {
var url = window.location.href;
var finalurl = '';
var e = document.getElementById("new_user_approve_filter");
var strUser = e.options[e.selectedIndex].value;
finalurl = url.replace("&new_user_approve_filter=pending", "");
if(url.split('/').pop()=='users.php') {finalurl = finalurl.concat('?');}
finalurl = finalurl.concat('&new_user_approve_filter='+strUser);
window.location.href = finalurl;
}
</script>
<?php
}
Credit goes to @VaciDesign