eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

set_post_format()WP 3.1.0

Устанавливает формат для записи (поста).

Формат записи используется темой для определения стилизации поста: например, 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 Чат-лог: "Имя: сообщение"

Примеры

0

#1 Демонстрация

Установим формат 'gallery' текущему посту в цикле ($post->ID):

set_post_format( $post->ID, 'gallery' );

Список изменений

С версии 3.1.0 Введена.

Код 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' );
}
3 комментария