Отсутствующая панель изображения записи в пользовательском типе записей WordPress 3.2
После обновления с версии 3.1 до 3.2 пропала панель изображения записи в админке, которая работала в пользовательском типе записей.
add_action( 'init', 'create_my_post_types' );
function create_my_post_types() {
register_post_type( 'header_image_gallery',
array(
'labels' => array(
'name' => __( 'Изображения заголовка' ),
'singular_name' => __( 'Изображение заголовка' ),
'add_new' => __( 'Добавить новое' ),
'add_new_item' => __( 'Добавить новое изображение заголовка' ),
'edit' => __( 'Редактировать' ),
'edit_item' => __( 'Редактировать изображение заголовка' ),
'new_item' => __( 'Новое изображение заголовка' ),
'view' => __( 'Просмотр изображений заголовка' ),
'view_item' => __( 'Просмотр изображений заголовка' ),
'search_items' => __( 'Поиск изображений заголовка' ),
'not_found' => __( 'Изображения заголовка не найдены' ),
'not_found_in_trash' => __( 'В корзине не найдено изображений заголовка' ),
'parent' => __( 'Родительские изображения заголовка' ),
),
'public' => true,
'supports' => array('title','thumbnail','revisions')
)
);
}
Миниатюры записей регистрируются так:
// Эта тема использует миниатюры записей
add_theme_support( 'post-thumbnails', array('post', 'page') );
Примечание: Пользовательские записи, созданные до обновления, правильно работают во фронтенде, показывая свои миниатюры (просто отсутствует панель изображения записи в админке).
Также: Я обратился к codex и взял пример пользовательского типа записи, вы заметите, что он должен показывать изображение записи > но также не показывает.
add_action('init', 'codex_custom_init');
function codex_custom_init()
{
$labels = array(
'name' => _x('Книги', 'общее название типа записи'),
'singular_name' => _x('Книга', 'единственное название типа записи'),
'add_new' => _x('Добавить новую', 'книга'),
'add_new_item' => __('Добавить новую книгу'),
'edit_item' => __('Редактировать книгу'),
'new_item' => __('Новая книга'),
'all_items' => __('Все книги'),
'view_item' => __('Просмотр книги'),
'search_items' => __('Поиск книг'),
'not_found' => __('Книги не найдены'),
'not_found_in_trash' => __('В корзине книги не найдены'),
'parent_item_colon' => '',
'menu_name' => 'Книги'
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => null,
'supports' => array('title','editor','author','thumbnail','excerpt','comments')
);
register_post_type('book',$args);
}
Если я проверяю параметры экрана, опция изображения записи не видна ни в одном из примеров.
* Ответил на свой вопрос
Возможно, в WP 3.1 не нужно было объявлять ваш пользовательский тип записи при добавлении поддержки темы, но в WP 3.2 это необходимо!
// Эта тема использует миниатюры записей
add_theme_support( 'post-thumbnails', array('post', 'page','header_image_gallery') );

Измените это:
// Тема использует миниатюры записей
add_theme_support( 'post-thumbnails', array('post', 'page') );
На это:
// Тема использует миниатюры записей
add_theme_support( 'post-thumbnails' );
Проблема в том, что массив является явным, при его использовании. Таким образом, поддержка миниатюр будет добавлена только для типов записей, включенных в массив.
Пропустите массив, чтобы добавить поддержку миниатюр для всех типов записей.

Я тоже пробовал это сделать, но по какой-то причине область изображения записи не отображается в админке моего пользовательского типа записи. Не совсем понимаю, в чем проблема... Кстати, это не относится к теме, но извините, что отвечаю в этой ветке как на ответ — не могу найти кнопку "комментировать".

Попробуйте это, у меня работает.
// Поддержка миниатюр записей
add_theme_support('post-thumbnails');
// Добавление поддержки миниатюр для типа записи 'my_product'
add_post_type_support( 'my_product', 'thumbnail' );
// Функция создания нового типа записи
function create_post_type() {
register_post_type( 'my_product',
array(
'labels' => array(
'name' => __( 'Продукты' ), // Название типа записи во множественном числе
'singular_name' => __( 'Продукт' ) // Название типа записи в единственном числе
),
'public' => true, // Делаем тип записи публичным
'has_archive' => true // Включаем архив для этого типа записи
)
);
}
// Хук инициализации
add_action( 'init', 'create_post_type' );
