создание ориентированного на изображение пользовательского типа сообщения?

<p>у кого-нибудь есть советы по созданию ориентированного на изображение пользовательского типа записи?</p><p>чтобы уточнить, у моего блога есть вращающиеся изображения заголовка, показанные ниже:</p><p><img src="https://dl.dropbox.com/u/146967/20100820.sixohthree-header.jpg" alt="blog header showing random images"></p><p>два изображения в верхнем левом углу являются случайными и существуют в виде вложений к определенной странице, которая существует только для хранения этих изображений. мне интересно, возможно ли хранить их по-другому, используя пользовательские типы записей. я создал новый тип записи, "header-image", и я пытаюсь выяснить, куда идти дальше. я бы хотел, чтобы у каждого "поста" в заголовке было одно изображение. вместо того, чтобы извлекать случайные изображения со страницы, я бы выбирал случайные сообщения из типа сообщения заголовок-изображение. учитывая это,</p><ol> <li>как я могу включить простой интерфейс в процесс прикрепления, который доступен на странице администратора "новый образ заголовка"?</li> <li>могу ли я удалить заголовки постов и поля ввода контента, чтобы загромождать эту страницу?</li> </ol><p>цели заключаются в<strong> создать лучший интерфейс </strong>к текущему процессу загрузки и, в конечном итоге, иметь возможность<strong> создать таксономию </strong>помечать изображения как левое изображение/правое изображение. (глядя на изображение выше, вы можете увидеть фотографию справа, закрывающую лицо на другой фотографии. я мог бы избежать этого, отметив фотографии для левого и/или правого дисплея.) последнее не будет проблемой, если я могу реализовать первое.</p><p><strong> обновить: </strong>на основе ответа здесь я смог реализовать эту настройку. полный код: <a href="https://wordpress.stackexchange.com/questions/639/creating-an-image-centric-custom-post-type/647#647">опубликовано ниже</a> .</p>

<p>первоначальный ответ goldenapple дал мне триггер, который мне нужен, чтобы закончить это.</p><h2>functions.php</h2><p>вот полный код, который я использую, чтобы добавить новый тип сообщения "header-image" и соответственно изменить другие экраны администратора:</p><pre><code>/** * register the header image custom post type. */ function sixohthree\_init() { $labels = array( 'name' => 'header images', 'singular_name' => 'header image', 'add_new_item' => 'add header image', 'edit_item' => 'edit header image', 'new_item' => 'new header image', 'view_item' => 'view header image', 'search_items' => 'search header images', 'not_found' => 'no header images found', 'not_found_in_trash' => 'no header images found in trash' ); $args = array( 'labels' => $labels, 'public' => false, 'show_ui' => true, 'supports' => array('thumbnail') ); register_post_type( 'header-image', $args ); } add\_action( 'init', 'sixohthree\_init' ); /** * modify which columns display when the admin views a list of header-image posts. */ function sixohthree\_headerimage\_posts\_columns( $posts_columns ) { $tmp = array(); foreach( $posts_columns as $key => $value ) { if( $key == 'title' ) { $tmp['header-image'] = 'header image'; } else { $tmp[$key] = $value; } } return $tmp; } add_filter( 'manage_header-image_posts_columns', 'sixohthree_headerimage_posts_columns' ); /  custom column output when admin is view the header-image post list. / function sixohthree_headerimage_custom_column( $column\_name ) { global $post; if( $column\_name == 'header-image' ) { echo "<a href='", get\_edit\_post\_link( $post->id ), "'>", get_the_post_thumbnail( $post->id ), "</a>"; } } add\_action( 'manage\_posts\_custom\_column', 'sixohthree\_headerimage\_custom\_column' ); /** * make the "featured image" metabox front and center when editing a header-image post. */ function sixohthree\_headerimage\_metaboxes( $post ) { global $wp\_meta\_boxes; remove\_meta\_box('postimagediv', 'header-image', 'side'); add\_meta\_box('postimagediv', \_\_('featured image'), 'post\_thumbnail\_meta\_box', 'header-image', 'normal', 'high'); } add\_action( 'add\_meta\_boxes\_header-image', 'sixohthree\_headerimage\_metaboxes' ); /** * enable thumbnail support in the theme, and set the thumbnail size. */ function sixohthree\_after\_setup() { add\_theme\_support( 'post-thumbnails' ); set\_post\_thumbnail\_size(150, 100, true); } add\_action( 'after\_setup\_theme', 'sixohthree\_after\_setup' ); </code></pre><h2>скриншоты администратора</h2><p><img src="https://dl.dropbox.com/u/146967/20100820.header-images-admin.jpg" alt="header images post list"></p><p><img src="https://dl.dropbox.com/u/146967/20100820.header-images-edit.jpg" alt="header images post editing"></p><h2>код шаблона</h2><pre><code>$header_images = get_posts('post_type=header-image&orderby=rand&numberposts=2'); foreach( $header\_images as $idx => $post ) { setup\_postdata($post); the_post_thumbnail('post-thumbnail', array('class' => 'snapshot snapshot' . ($idx+1) ) ); } </code></pre>

<pre><code>function register\_header\_image() { register\_post\_type( 'header-image', array( 'label'=>'header images', 'name'=>'header images', 'singular\_name'=>'header image', 'public'=>true, 'show\_ui'=>true, 'hierarchical'=>true, 'supports'=>array('thumbnail') ) ); } add\_action ('init','register\_header\_image'); add\_theme\_support( 'post-thumbnails' ); </code></pre><p>это должно зарегистрировать ваш тип сообщения только с полем для избранного изображения. смотрите codex <a href="http://codex.wordpress.org/function\_reference/register\_post\_type">http://codex.wordpress.org/function\_reference/register\_post\_type</a> для получения списка аргументов для передачи.</p>