2012-01-27 154 views
0

我想要將所有圖像附加到帖子中。根據original author of this code,可以通過使用「for-each循環遍歷$ arrKeys中的每個值」來實現。有誰知道如何實現這一點?WordPress的:如何實現for-each循環?

PHP

function bdw_get_images() { 

$iPostID = $post->ID; 
$arrImages =& get_children('post_type=attachment&post_mime_type=image&post_parent=' . $iPostID); 

    if($arrImages) { 

     $arrKeys = array_keys($arrImages); 

     foreach($arrImages as $oImage) { 
      $arrNewImages[] = $oImage; 
     } 

     for($i = 0; $i < sizeof($arrNewImages) - 1; $i++) { 
      for($j = 0; $j < sizeof($arrNewImages) - 1; $j++) { 
       if((int)$arrNewImages[$j]->menu_order > (int)$arrNewImages[$j + 1]->menu_order) { 
        $oTemp = $arrNewImages[$j]; 
        $arrNewImages[$j] = $arrNewImages[$j + 1]; 
        $arrNewImages[$j + 1] = $oTemp; 
       } 
      } 
     } 

     $arrKeys = array(); 

     foreach($arrNewImages as $oNewImage) { 
      $arrKeys[] = $oNewImage->ID; 
     } 

     $iNum = $arrKeys[0]; 

     $sImageUrl = wp_get_attachment_url($iNum); 

     $sImgString = '<img src="' . $sImageUrl . '" alt="Thumbnail Image" title="Thumbnail Image" />'; 

     echo $sImgString; 
    } 
} 

然後我可以調用函數與bdw_get_images();

回答

1

試試這個。

這一行後:

foreach($arrNewImages as $oNewImage) { 
    $arrKeys[] = $oNewImage->ID; 
} 

補充一點:

$return = array(); 
foreach($arrKeys as $key) { 
    $sImageUrl = wp_get_attachment_url($key); 
    $sImgString = '<img src="' . $sImageUrl . '" alt="Thumbnail Image" title="Thumbnail Image" />'; 
    $return[] = $sImgString; 
} 
return $return; 

OR,如果你要打印出所有的圖像,只需添加這一點(不超過什麼的):

foreach($arrKeys as $key) { 
    $sImageUrl = wp_get_attachment_url($key); 
    $sImgString = '<img src="' . $sImageUrl . '" alt="Thumbnail Image" title="Thumbnail Image" />'; 
    echo $sImgString; 
} 
+0

代碼的第二位做了訣竅。謝謝! – colindunn 2012-01-27 19:03:48