set_post_type()
Обновляет тип записи для указанного поста (записи). Наример: post >> page.
Функция изменяет поле post_type в таблице wp_posts на заданный тип и очищает кеш записи, чтобы изменения вступили в силу.
Кэш записи и связанных с ней таксономий и терминов будет очищен.
Хуков нет.
Возвращает
int|false.
int- количество строк затронутых в БД после обнволения (обычно 1). Результат запроса $wpdb->update().false- произошла ошибка запроса.
Использование
set_post_type( $post_id, $post_type );
- $post_id(число)
- ID записи, тип которой нужно изменить.
По умолчанию: 0 - $post_type(строка)
- Название типа записи, который нужно установить. Название нового типа записи.
По умолчанию: 'post'
Примеры
#1 Обновим тип записи
Предположим у нас есть пост с ID 15. Сделаем из него постоянную страницу, для этого поменяем тип записи на page:
$post_id = 15;
if ( set_post_type( $post_id, 'page' ) ) {
echo "Пост 15 теперь страница";
}
else {
echo "Невозможно изменить тип поста на page";
}
Заметки
- Global. wpdb.
$wpdbWordPress database abstraction object.
Список изменений
| С версии 2.5.0 | Введена. |
Код set_post_type() set post type WP 6.9.4
function set_post_type( $post_id = 0, $post_type = 'post' ) {
global $wpdb;
$post_type = sanitize_post_field( 'post_type', $post_type, $post_id, 'db' );
$return = $wpdb->update( $wpdb->posts, array( 'post_type' => $post_type ), array( 'ID' => $post_id ) );
clean_post_cache( $post_id );
return $return;
}