Как отфильтровать посты Wordpress по пользовательским полям плагина Advanced Custom Fields?
Очень просто, вот пример:$args = array(
	'post_type'  => 'product',
	'meta_query' => array(
		array(
			'key'     => 'color',
			'value'   => 'blue',
			'compare' => 'NOT LIKE'
		)
	)
);
$query = new WP_Query( $args );
Подробнее тут:
https://wp-kama.ru/function/wp_query#meta_query
P.S., да, это действительно meta_query, разберитесь с созданием и чтением произвольных полей без acf - тогда поймете почему так, долго объяснять))
Вот пример  по цене
$min_price = "1";
        $max_price = "99000";
        if(isset($_POST['min_price'])) $min_price = $_POST['min_price'];
        if(isset($_POST['max_price'])) $max_price = $_POST['max_price'];

        echo "Ваш min_price: $min_price  <br> Ваш max_price: $max_price <br><br>";
<form action="" method="post" >
                            <div class="left">
                                    <label>
                                        от <input name="min_price" type="number" value="<?php echo $min_price?>">
                                    </label>
                                    <div class="minus">
                                        <img src="<?php bloginfo('template_directory')?>/accets/img/minus.png" alt="">
                                    </div>
                                    <label>
                                        до <input name="max_price" type="number" value="<?php echo $max_price?>">
                                </label>
                            </div>
                            <button>го</button>
                        </form>
<?php 
                    $query = new WP_Query( array(
                        'post_type' => 'post', 
                        'posts_per_page' => 6, 
                        'meta_query' => array(
                            'max_price' => array(
                                'key'     => 'цена',
                                'value'   => $max_price,
                                'type' => 'NUMERIC',
                                'compare' => '<=',
                            ),
                            'min_price' => array(
                                'key'     => 'цена',
                                'value'   => $min_price,
                                'type' => 'NUMERIC',
                                'compare' => '>=',
                            ),
                        ),
                        'orderby' => 'max_price,min_price,minimal_price',
                    ) );
                ?>
                <?php while ( $query->have_posts() ) : $query->the_post(); ?>
                    <?php
		                get_template_part( 'loop/item_type1', 'loop' );
                    ?>
                <?php endwhile; ?>
                <?php
                    wp_reset_query();
                ?>