Wordpress中的多参数搜索

时间:2019-03-27 11:05:25

标签: php wordpress search

我需要多参数搜索以在WordPress中自定义帖子类型。 我有4个搜索选项。 1-自定义帖子类型类别。 1-自定义帖子类型服务 3-位置1 4- Location2

查看屏幕截图以获取更多详细信息-https://prnt.sc/n3kr6d

我正在使用此查询。

$query = new WP_Query( array(
'post_type'             => 'directory_listing',
'posts_per_page'        => -1,
'tax_query' => array(
    'relation' => 'OR',
    array(

        'taxonomy' => 'listing_country',
        'field'    => 'listing_country',
        'terms'    => $locationstring1,
        'compare' => 'EXISTS'
    ),
    array(
        'taxonomy' => 'listing_categories',
        'field'    => 'slug',
        'terms'    => $category_list,
    ),
    array(
        'taxonomy' => 'services_offered',
        'field'    => 'slug',
        'terms'    => $services_offered,
    ),
    ),

)); 

1 个答案:

答案 0 :(得分:1)

将此代码添加到您的文件中,让我知道结果。

首先,您需要传递表单数据。

$post_type = $_REQUEST['form_field_name'];
$cat_id = $_REQUEST['form_field_name'];

然后将其添加到您的查询参数中

<?php
$args     = array(
    'post_type' => $post_type,
    'posts_per_page' => -1,
    'tax_query' => array(
    'taxonomy' => 'category_name_here',
    'terms' => $cat_id,
    'field' => 'id',        
    ),
);
$wp_query = new WP_Query($args);

if ( $wp_query->have_posts()):
    while ( $wp_query ->have_posts()):
        the_post();
        echo the_title();
        echo the_content();
    endwhile;
    wp_reset_postdata();
else:
    echo wpautop('Sorry, no posts were found');
endif;
?>