I would recommend executing two separate queries, each one differing from the other via a meta_query
against your post custom meta key value.
$current_query_args = array(
'post_type' => 'recipient',
'meta_query' => array(
array(
'key' => 'yes_current',
'value' => 'on',
'compare' => '='
)
)
);
$current_query = new WP_Query( $current_query_args );
if ( $current_query->have_posts() ) : while ( $current_query->have_posts() ) : $current_query->the_post();
// Loop goes here
endwhile; endif;
wp_reset_postdata();
$past_query_args = array(
'post_type' => 'recipient',
'meta_query' => array(
array(
'key' => 'yes_current',
'value' => 'off',
'compare' => '='
)
)
);
$past_query = new WP_Query( $past_query_args );
if ( $past_query->have_posts() ) : while ( $past_query->have_posts() ) : $past_query->the_post();
// Loop goes here
endwhile; endif;
wp_reset_postdata();