2012-12-04 65 views
0

我有以下WP功能及簡碼我寫的WordPress的foreach顯示結果只有一個

function selected_inventory_products($atts) { 
    extract(shortcode_atts(array(
     'brand' => '', 
     'product' => '', 
    ), $atts)); 

     global $wpdb; 
     $inventory_products = $wpdb->get_results("SELECT * FROM wp_inventory, wp_inventory_images WHERE wp_inventory.inventory_id = wp_inventory_images.inventory_id and sort_order = 0 and inventory_manufacturer = '".$brand."'"); 

     foreach($inventory_products as $i_products){ 
     $return_string = '<div style="background: #F4F4F4; width: 100%;">'; 
     $return_string .= '<a href="http://www.devicemondo.com/products/item/'.$i_products->inventory_slug.'/">'.$i_products->inventory_name.'</a>'; 
     $return_string .= '</div>'; 
     } 

     return $return_string; 

} 
add_shortcode('post_sidebar_products', 'selected_inventory_products'); 

的問題是,當我用我的WP頁面中簡碼[post_sidebar_products]我只得到1個結果即使有超過15?任何想法,我犯了一個錯誤?

感謝您的幫助

+0

你運行SQL查詢在數據庫中檢查SQL返回一個或15的結果嗎? – barakadam

+0

是的,這是我做的第一件事,我得到了全部15個結果 –

回答

1

啊!剛剛看到它。您正在循環內重新定義$ return_string!由於第一行,在等號前沒有點的地方。所以替換此:

$return_string = '<div style="background: #F4F4F4; width: 100%;">'; 

與此:

$return_string .= '<div style="background: #F4F4F4; width: 100%;">'; 
+0

omg,非常感謝!如小事情造成這麼多問題哈哈。甚至沒有注意到它。 –