Функция возвращает целое число, равное количеству измененных строк в базе данных, соответственно 1
— в случае успеха, 0
— если тип поста изменить не удалось.
Абсолютно все данные поста сохраняются, вплоть до категорий и меток. Т.е. например, если вы сделали преобразование в страницу page
(страницы, как вы знаете, не имеют ни рубрик ни меток), а потом преобразовали обратно в post
— и рубрики, и метки у поста останутся те же, которые были до преобразования.
set_post_type( $post_id = 0, $post_type = 'post' )
Параметры
- $post_id
- (целое число) ID поста, тип которого нужно изменить.
- $post_type
- (строка) Тип поста, в который нужно преобразовать, по умолчанию —
post
. То есть, если этот параметр не указывать, то пост произвольного типа преобразуется в Запись.
Пример
Взял и перевёл пример из официальной документации WordPress:
$post_id = 54; if( set_post_type( $post_id, 'page' ) ) { printf( 'Пост с ID = %d теперь страница.', $post_id ); // т.е. стал типом page } else { echo 'Невозможно трансформировать указанный пост в страницу.'; }