Как применить мета-запрос (Wordpress), если он существует

Каждый продукт - это отдельный пост, поэтому я использую WP_Query, чтобы получать сообщения. Например, мне нужны все товары типа «коттедж», и участок «этитный» и кол-во семей «5». Поэтому я использую;

$query = new WP_Query(
                    array(
                        'post_type' => 'project',
                        'posts_per_page' => 12,
                        'orderby' => 'date',
                        'paged' => $paged,
                        'meta_query' => array(
                            array(
                                'key' => 'house_type',
                                'value' => $house_type[0],
                                'compare' => 'LIKE'
                            ),
                            array(
                                'key' => 'po_uchastku',
                                'value' => $po_uchastku[0],
                                'compare' => 'LIKE'
                            ),
                            array(
                                'key' => 'fam_count',
                                'value' => $fam_count,
                                'compare' => 'LIKE'
                            ),
                        )
                    )
                );

И это будет нормально работать, если будет установлено каждое значение. Но если используется только одно из полей выбора, два других значения будут пустыми, и запрос не вернет никаких сообщений. Есть ли способ сделать так, что если хоть одно значение совпадает, то его показывать ?


Ответы (1 шт):

Автор решения: Andrei Lepekhov

Решил, добавить 'relation' => 'OR'

$query = new WP_Query(
                    array(
                        /* ... */
                        'meta_query' => array(
                           'relation'  => 'OR',
                            array(
                                'key' => 'house_type',
                                'value' => $house_type[0],
                                'compare' => 'LIKE'
                            ),
                            array(
                                'key' => 'po_uchastku',
                                'value' => $po_uchastku[0],
                                'compare' => 'LIKE'
                            ),
                            array(
                                'key' => 'fam_count',
                                'value' => $fam_count,
                                'compare' => 'LIKE'
                            ),
                        )
                    )
                );
→ Ссылка