<?php

// Limit SearchWP results to form field value.
// `sources` is a GET array of post type names.
add_filter( 'searchwp\query\mods', function( $mods, $query ) {
  if ( empty( $_GET['sources'] ) ) {
    return $mods;
  }

  $mod = new \SearchWP\Mod();

  $mod->set_where( [ [
    'column'  => 'source',
    'value'   => array_map( function( $source ) {
        return \SearchWP\Utils::get_post_type_source_name( $source );
    }, $_GET['sources'] ),
    'compare' => 'IN',
  ] ] );

  $mods[] = $mod;

  return $mods;
}, 10, 2 );