2012-06-24 149 views
0

我在這裏遇到了某種絆腳石,我無法找到自己的方式。創建自定義WP查詢

我想製作一個自定義的WP查詢原產國的職位搜索,同時選擇多個國家。

我有一個映射國家的區域的表,所以最初的查詢將搜索所選區域,並返回所有的國家在該地區作爲一個數組。例如,如果您選擇非洲,它將返回非洲國家中的一系列國家。

if(!empty($_REQUEST['region'])){ 
    $region = $_REQUEST['region']; 

    $regionresult = mysql_query("SELECT * FROM gallery_regions WHERE region='$region'") or die(mysql_error()); 
    $num_rows = mysql_num_rows($regionresult); 

    if (!$regionresult) { 
     $message = 'Invalid query: ' . mysql_error() . "\n"; 
     $message .= 'Whole query: ' . $query; 
     die($message); 
    } 
} else { 
    $region = NULL; 
} 

該部分起作用。

現在,我想用返回數組來搜索我的WP帖子任何源自陣列中任何的國家。這是我無法工作的部分:

$country_search = array(mysql_fetch_array($regionresult)); 
$args = array(
    'posts_per_page' => -1, 
    'meta_query' => array(
     array(
      'key' => 'Country', 
      'value' => '$country_search', 
      'compare' => 'IN', 
      'category' => 'Gallery' 
     ) 
    ) 
); 
$query = new WP_Query($args); 

我沒有得到任何結果。事實上,如果包含echo "$args";,我所得到的僅僅是「數組」這個詞。我也只希望它返回特定類別的結果。

我敢肯定,我俯瞰簡單的東西。誰能幫忙?

謝謝!

TY

+1

你試過'print_r($ args)'而不是'echo $ args'嗎? –

+0

返回這樣的:「陣列([posts_per_page] => -1 [meta_query] =>數組([0] =>數組([鍵] =>國家[值] => $ country_search [比較] => IN)) )「 –

+0

''value'=>'$ country_search''應該是''value'=> $ country_search'不帶引號。 –

回答

1

我認爲問題是,有兩個數組對象,並且此:

$country_search = array(mysql_fetch_array($regionresult)); 
$args = array(
    'posts_per_page' => -1, 
    'meta_query' => array(
     array(
      'key' => 'Country', 
      'value' => '$country_search', 
      'compare' => 'IN', 
     ) 
    ) 
); 
$query = new WP_Query($args); 

本來應該是這樣的:

$country_search = array(mysql_fetch_array($regionresult)); 
$args = array(
    'posts_per_page' => -1, 
    'meta_query' => array(
      'key' => 'Country', 
      'value' => $country_search, 
      'compare' => 'IN', 
    ) 
); 
$query = new WP_Query($args); 

不過,而不是返回沒有職位,它返回他們全部。嘰!

它捕獲的原始證明是問題的組合:

  1. 而是內爆$country_search_array的,它需要 添加對查詢。
  2. 因爲它是一個數組,我們不能比較值使用'='。它需要是'IN'

如果沒有我在這裏收到的幫助,我想不通。再次,謝謝!

0

你試過

'value' => $country_search, 

,而不是

'value' => '$country_search', 

不帶引號?

+0

是的,我不停地來回切換。這是我現在的位置:http://www.morepositive.com/gallery-test/?region = AF –