1

This is regarding filtering the native gallery output for WordPress from answer: here

// Now you loop through each attachment
foreach ($attachments as $id => $attachment) {
// Fetch all data related to attachment 
$img = wp_prepare_attachment_for_js($id);

// If you want a different size change 'large' to eg. 'medium'
$url = $img['sizes']['large']['url'];
$height = $img['sizes']['large']['height'];
$width = $img['sizes']['large']['width'];
$alt = $img['alt'];

// Store the caption
$caption = $img['caption'];

$output .= "<li>\n";
$output .= "<img src=\"{$url}\" width=\"{$width}\" height=\"{$height}\" alt=\"{$alt}\" />\n";

// Output the caption if it exists
if ($caption) { 
    $output .= "<div class=\"orbit-caption\">{$caption}</div>\n";
}

$output .= "</li>\n";
}

$output .= "</ul>\n";
$output .= "</div>\n";

return $output;

}

Is there a more efficient way of repeating the foreach loop output if the results are required again, rather than just repeating the foreach loop?

(Could use a different variable in foreach loop, but then not sure if it seems logical to disrupt concatenated output.)

Would appreciate logic or approach for insight.

Community
  • 1
  • 1
Ina
  • 11
  • 1
  • 4

1 Answers1

1

You don't have to return $output inside the foreach like in a function. You can use the variable outside the loop on the same accesslevel.

codeneuss
  • 905
  • 4
  • 12