2016-12-16 16 views
0

私はこの権利を明確にしていません。どんな助けでも大歓迎です。基本的に私は近くの郵便番号と都市名を検索しています。私はWP_Queryを使用して、それらの郵便番号と都市名に一致するWordPressの投稿タイプを取得したいと考えています。WP_Queryに複数の引数を渡す

$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をを置く:それは可能性が高いので、私は遠く離れてこれを行う方法の基本だ、ワードプレスで超慣れていないんですか?

あなたのforeachでTIA

答えて

1

、代わりに新しい完全な値を追加することで、あなたの配列に

$zipsearcharray 

$citysearcharray 

はとても配列として値キーを持っている:

'value' => array(array of cities)

変更後

compare => 'IN' 
+0

このようにします。 \t foreachの($ json-> zip_codes $ nearbyzipなど) \t {\t \t $ citysearcharray [] =配列($ nearbyzip->都市); \t \t $ zipsearcharray [] = array($ nearbyzip-> zip_code); \t} \t $引数=配列( \t 'post_type' => $ post_type、 \t 'post_status' =>、 \t 'caller_get_posts' => 1、 \t 'posts_per_page' => 10 '公開' \t 'meta_query' \t =>アレイ( \t \t '関係' \t \t => 'OR'、 \tアレイ( \t \t \t 'キー' \t \t => '都市'、 \t \t \t '価値' \t \t => $ citysearcharray、 \t \t \tは\t =>) \t \t 'IN' と、 \t配列( \t \t \t「キー 'の比較' 「\t \t => 'ZIP_CODE'、 \t \t \t '価値' \t \t => $ zipsearcharray、 \t \t \t 'を比較' \t => 'IN' \t \t))); – Nugs

+0

はい、まあ、それはあなたのために働くのですか? – baku

+0

mysqli_real_escape_string()は、パラメータ2が文字列で、配列が/ nas/content/staging/agemarkch/wp-includes/wp-dbで指定されていると想定しています。php on line 1166 – Nugs

関連する問題