Changed architecture and code a while.
Simplified example:
normal form, for example with search keyword inside some templete.
<form method="get" id="search_form" action="/results">
<input type="text" name="search_text" id="search_text_input" placeholder="Type something for search">
<button type="submit">GO</button>
</form>
After that i create results.php
Here is code:
<?php /* Template name: Custom Search */
get_header();
?>
<?php
if($_GET['search_text'] && !empty($_GET['search_text']) )
{
$text = $_GET['search_text'];
}
?>
<div class="wrap" style="color:white;">
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
$big = 999999999;
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$args = array(
's' => $text,
'posts_per_page' => 2,
'paged' => $paged,
);
$my_query = new WP_Query($args);
?>
<?php if ($my_query->have_posts()): ?>
<?php while($my_query -> have_posts()) : $my_query -> the_post(); ?>
<div class="post">
<h2><?php the_title(); ?></h2>
</div>
<?php endwhile;
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $my_query->max_num_pages
) );
wp_reset_postdata();
?>
<?php else: ?>
<p>Nothing to show u, human.</p>
<?php endif; ?>
</main>
</div>
</div>
<?php get_footer();?>
After form i create new page in admin dashboard, called “Search results” with “results” slug with template “Advanced Search” from previously created results.php. And that`s all. More custom field can be easily added, and if needed to someone i can post way to do this here.