It's actually really easy to get the plugin to create it's own SEO content if your galleries are all created with Wordpress (as opposed to using external resources like Flickr. With minimal effort, the post attachments that make up the SEO content can be retrieved from WordPress, and the specific values that make up the SEO content can be added to the output of the shortcode_handler method.
1) Create a class property at the top of the Juicebox class:
var $attachments = array();
2) Modify the shortcode_handler method:
$string_builder .= '<div id="juicebox-container-' . $gallery_id . '">' . PHP_EOL;
global $post;
$this->attachments = array();
$this->get_attachments_media(TRUE, $post->ID);
if (!empty($this->attachments)) {
$string_builder .= '<noscript>' . PHP_EOL;
foreach ($this->attachments as $id => $attachment)
{
$string_builder .= '<p>' . $attachment->post_title . '<br />';
$string_builder .= wp_get_attachment_image( $id, 'full', false );
$string_builder .= '</p>' . PHP_EOL;
}
$string_builder .= '</noscript>' . PHP_EOL;
}
$string_builder .= '</div>' . PHP_EOL;
3) Replace the contents of the Juicebox class's get_attachment_media method with this:
if (empty($this->attachments)) {
if ($featured_image === 'true') {
$this->attachments = get_children(array('post_parent'=>$post_id, 'post_type'=>'attachment', 'post_mime_type'=>'image', 'orderby'=>'menu_order', 'order'=>'ASC'));
} else {
$this->attachments = get_children(array('post_parent'=>$post_id, 'post_type'=>'attachment', 'post_mime_type'=>'image', 'orderby'=>'menu_order', 'order'=>'ASC', 'exclude'=>get_post_thumbnail_id($post_id)));
}
}
$this->attachments = array_filter($this->attachments, array(&$this, 'filter_image_media'));
return $this->attachments;
I know that hacking the plugin like this isn't desirable because if the plugin is updated these changes will get wiped out, but it just goes to show that there is a simple solution if you are just using WordPress galleries and not external image sources.