Skip to content

Instantly share code, notes, and snippets.

@alexdunae
Created March 31, 2011 23:55
Show Gist options
  • Save alexdunae/897503 to your computer and use it in GitHub Desktop.
Save alexdunae/897503 to your computer and use it in GitHub Desktop.
Display a custom post type's media library inline on the WordPress edit page screen
<?php
define('MY_POST_TYPE', 'my');
define('MY_POST_SLUG', 'gallery');
function my_register_post_type () {
$args = array (
'label' => 'Gallery',
'supports' => array( 'title', 'excerpt' ),
'register_meta_box_cb' => 'my_meta_box_cb',
'show_ui' => true,
'query_var' => true
);
register_post_type( MY_POST_TYPE , $args );
}
add_action( 'init', 'my_register_post_type' );
function my_meta_box_cb () {
add_meta_box( MY_POST_TYPE . '_details' , 'Media Library', 'my_meta_box_details', MY_POST_TYPE, 'normal', 'high' );
}
function my_meta_box_details () {
global $post;
$post_ID = $post->ID; // global used by get_upload_iframe_src
printf( "<iframe frameborder='0' src=' %s ' style='width: 100%%; height: 400px;'> </iframe>", get_upload_iframe_src('media') );
}
@dhilditch
Copy link

Thanks - I was banging my head against a brick wall - I've been using WPAllImport to load images into the gallery but could not get the gallery editor to appear. Your code above, integrated into my own custom post type, solved my problem.

@Honza-B
Copy link

Honza-B commented Feb 18, 2016

That's great! but.... how can I show render it in template? Thank for answer

@MathieuLopes
Copy link

Thanks!

@mavinothkumar
Copy link

mavinothkumar commented Aug 9, 2016

Try using
var_dump( get_attached_media( 'image' ));
inside the post area. You will get some idea :-)

@Kekson
Copy link

Kekson commented May 10, 2020

Damn, this guy is genius

@hipnie
Copy link

hipnie commented Nov 6, 2020

Sounds great. Where do I paste this code?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment