将多个参数传递给WP_Query

时间:2016-12-16 03:46:06

标签: php wordpress

我显然没有做到这一点。任何帮助将不胜感激。基本上我将附近的邮政编码和城市名称拉到正在进行的搜索中。然后,我想使用WP_Query来提取与这些邮政编码和城市名称相匹配的WordPress帖子类型。我对WordPress并不是很熟悉,所以我很可能不会基于如何做到这一点:

$url = "http://www.zipcodeapi.com/rest/OeAp3k78myEhBy0oqSlQSlUWOt6N7TjW8Tlbdtkz1YRCwS1WKmNDIHzwbFjizCeI/radius.json/" . $searchbox . "/100/km";
$response = file_get_contents($url);
$json = json_decode($response);

$post_type = 'location';  
$citysearcharray = array();
$zipsearcharray = array();

$searcharray = array();
foreach($json->zip_codes as $nearbyzip)
{

    $citysearcharray[] = array(
        'key'       => 'city',
        'value'     => $nearbyzip->city,
        'compare'   => '='
    );

    $zipsearcharray[] = array(
        'key'       => 'zip_code',
        'value'     => $nearbyzip->zip_code,
        'compare'   => '='
    );
}

            $args = array(
            'post_type'       => $post_type,
            'post_status'     => 'publish',
            'caller_get_posts'=> 1,
            'posts_per_page'  => 10,
            'meta_query'    => array(
                'relation'      => 'OR', 
            $citysearcharray,
            $zipsearcharray));

    $my_query = null; 
    $my_query = new WP_Query($args);

    if( $my_query->have_posts() ) {
        $count=0;


        echo '<ul class="location">';
            while ($my_query->have_posts()) : $my_query->the_post();
...

艾米我把$ args正确地放在了一起?

TIA

1 个答案:

答案 0 :(得分:1)

在您的foreach中,而不是向数组中添加新的完整值

$zipsearcharray

 $citysearcharray

将值键作为数组:

'value' => array(array of cities)

然后改变

compare => 'IN'