set_post_format()
Устанавливает формат для записи (поста).
Формат записи используется темой для определения стилизации поста: например, gallery, quote, video и т.д.
Функциональность форматов в WP организована через таксономий. Каждый формат - это термин таксономии post_format, к которому прикрепляется пост.
Поддержка форматов должа быть добавлена отдельно через add_theme_support( 'post-formats' )
Подробнее про форматы записей.
Используйте get_post_format(), has_post_format(), чтобы получить или проверить формат поста.
Работает на основе: wp_set_post_terms()
Хуков нет.
Возвращает
Массив|WP_Error|false.
Массив ID— затронутых терминов таксономииpost-format.- WP_Error — указан неправильный ID поста.
false— обновление не удалось.
Использование
set_post_format( $post, $format );
- $post(число/объект) (обязательный)
- ID или объект поста, для которого нужно установить формат записи.
- $format(строка/массив) (обязательный)
Формат поста, который будет установлен для записи.
Чтобы удалить все форматы, укажите пустую строку:
''.Поддерживаемые форматы:
Формат Назначение aside Короткий пост, обычно без заголовка gallery Галерея изображений link Ссылка на внешний сайт image Одна картинка quote Цитата, часто внутри <blockquote> status Короткий статус, как твит video Видео или видеоплейлист audio Аудиофайл или подкаст chat Чат-лог: "Имя: сообщение"
Примеры
#1 Демонстрация
Установим формат 'gallery' текущему посту в цикле ($post->ID):
set_post_format( $post->ID, 'gallery' );
Список изменений
| С версии 3.1.0 | Введена. |
Код set_post_format() set post format WP 7.0
function set_post_format( $post, $format ) {
$post = get_post( $post );
if ( ! $post ) {
return new WP_Error( 'invalid_post', __( 'Invalid post.' ) );
}
if ( ! empty( $format ) ) {
$format = sanitize_key( $format );
if ( 'standard' === $format || ! in_array( $format, get_post_format_slugs(), true ) ) {
$format = '';
} else {
$format = 'post-format-' . $format;
}
}
return wp_set_post_terms( $post->ID, $format, 'post_format' );
}