set_post_type() — позволяет изменить тип поста с указанным ID

Функция возвращает целое число, равное количеству измененных строк в базе данных, соответственно 1 — в случае успеха, 0 — если тип поста изменить не удалось.

Абсолютно все данные поста сохраняются, вплоть до категорий и меток. Т.е. например, если вы сделали преобразование в страницу page (страницы, как вы знаете, не имеют ни рубрик ни меток), а потом преобразовали обратно в post — и рубрики, и метки у поста останутся те же, которые были до преобразования.

set_post_type( $post_id = 0, $post_type = 'post' )
$post_id
(целое число) ID поста, тип которого нужно изменить (параметр обязателен).
$post_type
(строка) тип поста, в который нужно преобразовать, по умолчанию — post

Пример

Взял пример из кодекса WordPress:

if ( set_post_type( 54, 'page'  ) ) {
	echo "Пост с ID = $post_id теперь страница."; // т.е. стал типом page
} else {
	echo "Невозможно трансформировать указанный пост в страницу.";
}

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...