2

I use this to search product by name on 2 categories:

<ul class="products">
                    <?php
                    $paged = ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1;
                    // Request is empty, view all products based url cat ID
                    if($tmp == '')
                    {
                        $args = array(
                            'post_type'             => 'product',
                            's'                     => $tmp,
                            'posts_per_page'        => '8',
                            'paged'                 => $paged,
                            'author'                => $store_user->ID,
                            'orderby'               => 'menu_order',
                            'order'                 => 'ASC',
                            'tax_query'             => array(
                                    array(
                                        'taxonomy'      => 'product_cat',
                                        'field'         => 'term_id',
                                        'terms'         => $product_cat_id,
                                    ),
                            )
                        );
                    }
                    else // search all product on categorie 18 & 25
                    {
                        $args = array(
                            'post_type'             => 'product',
                            's'                     => $tmp,
                            'posts_per_page'        => '8',
                            'paged'                 => $paged,
                            'author'                => $store_user->ID,
                            'orderby'               => 'menu_order',
                            'order'                 => 'ASC',
                            'tax_query'             => array(
                                array(
                                    'relation' => 'OR',
                                    array(
                                        'taxonomy'      => 'product_cat',
                                        'field'         => 'term_id',
                                        'terms'         => 18,
                                    ),
                                    array(
                                        'taxonomy'      => 'product_cat',
                                        'field'         => 'term_id',
                                        'terms'         => 25,
                                    ),
                                ),
                            )
                        );
                    }
                    $loop = new WP_Query( $args );
                    //var_dump($loop);

                    if ( $loop->have_posts() )
                    {}

How can I add query args to see products of brand too ?

Because when I write brand name in search field no product are found.

Thanks

1 Answer 1

2

Founded:

$filter_group_a = array(
                            'relation' => 'OR',
                            array(
                                'taxonomy'      => 'product_cat',
                                'field'         => 'term_id',
                                'terms'         => 18,
                            ),
                            array(
                                'taxonomy'      => 'product_cat',
                                'field'         => 'term_id',
                                'terms'         => 25,
                            ),
                        );

                        $filter_group_b = array(
                            array(
                                'taxonomy' => 'product_brand',
                                'field'    => 'description',
                                'value'    => $tmp,
                            ),
                        );


                        $args = array(
                            'post_type'             => 'product',
                            's'                     => $tmp,
                            'posts_per_page'        => '8',
                            'paged'                 => $paged,
                            'author'                => $store_user->ID,
                            'orderby'               => 'menu_order',
                            'order'                 => 'ASC',
                            'tax_query'             => array(
                                array(
                                    'relation' => 'OR',
                                    $filter_group_a,
                                    $filter_group_b,
                                ),
                            )
                        );
                    }

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.