Just giving you a general idea which may help you. You can try something like below in WordPress –
1) Add a functionality to have usermeta
as active
or pending
e.g.
update_user_meta($user_id, '_user_custom_status', 'active');
2) Do not show any post for non logged in user.
3) On login, check for user with subscriber
role and check its status from usermeta
$status = get_user_meta($user_id, '_user_custom_status', true);
4) Prepare the WP Query to limit the posts for the current user
e.g. you may try as following –
$query = new WP_Query( array( 'posts_per_page' => 3 ) ); //you may want to display some specific posts or just latest 3 posts or older 3 posts etc, you can change the query according to that
Note:
This is just a general idea based upon which you can implement your code as per your requirements. See if this helps.