@rswebsols
Yes, replace the code snippet with this update.
Replace ‘1234’ with the form ID in single quotes from your Directory shortcode.
If you want to include more form IDs enter them comma separated in the array.
add_filter( 'um_prepare_user_query_args', 'um_prepare_user_query_except_no_posters', 10, 2 );
function um_prepare_user_query_except_no_posters( $query_args, $directory_data ) {
global $wpdb;
if ( isset( $directory_data['form_id'] ) && in_array( $directory_data['form_id'], array( '1234' ))) {
$args = "SELECT {$wpdb->users}.ID FROM {$wpdb->users}
LEFT OUTER JOIN {$wpdb->posts} ON ( {$wpdb->users}.ID = {$wpdb->posts}.post_author )
WHERE {$wpdb->posts}.post_author IS NULL";
$users = $wpdb->get_results( $args, OBJECT_K );
if ( ! empty( $users )) {
$exclude_user_ids = array_keys( $users );
if ( ! isset( $query_args['exclude'] )) {
$query_args['exclude'] = $exclude_user_ids;
} else {
$query_args['exclude'] = array_unique( array_merge( $query_args['exclude'], $exclude_user_ids ));
}
}
}
return $query_args;
}
-
This reply was modified 3 weeks, 6 days ago by
missveronica.