Как добавить поддержку миниатюр для произвольных типов записей?
Поддержка миниатюр работает для записей, но у меня есть другой тип записи под названием product, и для него это не работает. Я пытаюсь использовать: add_theme_support( 'post-thumbnails', array( 'post', 'product' ) );
Я также использую плагин multiple post thumbnail.

По умолчанию все пользовательские записи поддерживают Заголовок и редактор. Если вам нужны дополнительные возможности, такие как комментарии, миниатюры и ревизии, их необходимо добавить вручную в аргумент supports.
Подробнее о регистрации пользовательского типа записи можно прочитать здесь, там же вы найдете раздел про supports, чтобы увидеть, что можно добавить.
Вот пример, где регистрируется миниатюра для пользовательской записи "Книги" с поддержкой следующих функций: 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'
function codex_custom_init() {
$labels = array(
'name' => _x('Книги', 'post type general name'),
'singular_name' => _x('Книга', 'post type singular name'),
'add_new' => _x('Добавить новую', 'book'),
'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);
}
add_action( 'init', 'codex_custom_init' );

Я использовал post-thumbnail вместо thumbnail. Теперь стало понятно. post-thumbnail добавляет миниатюру для записи, но для пользовательского типа записи нужно использовать thumbnail.

У меня есть 'thumbnail' в массиве 'supports', но я не могу сохранить изображение записи в моем пользовательском типе записи.

Для произвольных типов записей сначала необходимо включить поддержку миниатюр:
// Включаем поддержку миниатюр для тем
add_theme_support( 'post-thumbnails' );
// Регистрируем произвольный тип записи с поддержкой миниатюр
function theme_setup() {
register_post_type( 'yourposttype', array(
...,
'supports' => array('title', ...,'thumbnail'), // Поддерживаемые функции (заголовок, миниатюра и др.)
));
}
// Добавляем действие при инициализации темы
add_action( 'after_setup_theme', 'theme_setup' );

У меня сработало идеально, но не могли бы вы объяснить, почему необходимо добавлять "add_theme_support( 'post-thumbnails' );"?

Вы также можете использовать функцию add_post_type_support()
для добавления отдельной возможности, если не хотите переопределять стандартные параметры supports
при регистрации своего пользовательского типа записи:
add_post_type_support( 'product', 'thumbnail' );
