Are you asking about a quick way to automatically scan all existing posts and convert images? I feel like a script could be done, but to be honest I’m not sure how.
If you are asking, can you use a featured gallery to display inline images, then yes! I feel like the best way to go would be to write a short code, something like [featured-gallery 1], to display the first image, and so on and so forth. I think that I should add at least a simple [featured-gallery] shortcode that would display all the images.
The reason I haven’t is because I’ve tried to divorce presentation from backend creation. By letting theme developers create the presentation, a featured gallery can fit anything. But It would probably be good to have a simple [featured-gallery] shortcode, even if it just ends up being an example of what can be done.
I’m having to write a script. Basically I need to remove all inline images in post content, and use those images to create a Featured Gallery and attach it to the post.
I’ve done most of the legwork, I have the image URLs separated in an array, how (with code) can I put all of these images into the post’s Featured Gallery?
So for example, I have a list of all of the image attachment ID’s for a given post in an array. Is there a script that I could run that would attach all of those images to the Featured Gallery?
I’m assuming it’s going to be something inside the fg_save_perm_metadata function.
foreach ( $events_meta as $key => $value ) {
if ( $post->post_type == 'revision' ) {return;}
$value = implode(',', (array)$value);
if ( get_post_meta( $post->ID, $key, FALSE ) ) {
update_post_meta( $post->ID, $key, $value );
} else {
add_post_meta( $post->ID, $key, $value );
}
if ( !$value ) delete_post_meta( $post->ID, $key );
}
It seems $events_meta is just a comma delimited list of the attachment IDs. Is that correct?
Here’s what I ended up doing:
// Get the images attached to the post.
$images = get_attached_media( 'image', $post->ID );
foreach ($images as $image) {
$imageids[] = $image->ID;
}
$comma_separated = implode(",", $imageids);
// Save them to the Featured Gallery.
if ( $post->post_type == 'revision' ) {return;}
if ( get_post_meta( $post->ID, 'fg_perm_metadata', FALSE ) ) {
update_post_meta( $post->ID, 'fg_perm_metadata', $comma_separated );
} else {
add_post_meta( $post->ID, 'fg_perm_metadata', $comma_separated );
}
if ( !$comma_separated ) delete_post_meta( $post->ID, 'fg_perm_metadata' );
I’m not 100% sure about the beginning part (getting the array of IDs from the inline images), but the ending part should absolutely work. You are correct about $events_meta, I built the plugin from some code I wrote for a specific website, and the CTP was Events, I seem to have forgotten to change the variable name to something more general. Did the final code end up working?
I’m going to mark this as resolved since it appears you got it working. Cheers on the great idea, btw. Would you mind if I referenced people back to this thread if a similar question comes up in the future?