I forgot how I did this, sorry. But it was actually by just using the main query in the Beaver Builder posts module, and modifying that query via functions.php using this, which I assume I got from your site:
function tas_not_listened_fl_builder_loop_query_args_filter( $query_args ) {
if ( 'tas-metabox-not-listened' == $query_args['settings']->id ) {
$user_id = get_current_user_id();
$post_ids = get_user_meta( $user_id, 'mbfp_posts', true );
if ( ! empty( $post_ids ) ) {
$query_args['post__not_in'] = $post_ids; // Exclude the post IDs
}
}
return $query_args;
}
add_filter( 'fl_builder_loop_query_args', 'tas_not_listened_fl_builder_loop_query_args_filter' );