Что делает get_post_field()

Функция get_post_field() возвращает значение любого поля записи из таблицы wp_posts базы данных. Можно получить заголовок, статус, контент, тип записи и всё остальное — достаточно передать название нужного поля.

Результат автоматически фильтруется через sanitize_post_field() в зависимости от выбранного контекста.

Синтаксис

get_post_field( $field, $post, $context );

Параметры

$field (строка) — название поля из таблицы wp_posts. Например: post_title, post_status, post_content, post_type. Обязательный параметр.

$post (число) — ID записи. Начиная с WordPress 4.5 необязателен — если не передать, берётся текущий пост. По умолчанию null.

$context (строка) — способ фильтрации значения. По умолчанию display.

Доступные контексты:

  • raw — без очистки, значение как есть из базы
  • edit — подготовлено для вывода в форме редактирования
  • db — подготовлено для записи в базу данных
  • display — подготовлено для вывода на экран
  • attribute — для использования в HTML-атрибутах
  • js — для использования в JavaScript

Что возвращает

Строку, число, массив или объект WP_Error с значением поля.

Пример использования

Получить заголовок записи с ID 1, подготовленный для БД:

$field = get_post_field( 'post_title', 1, 'db' );
echo $field;
// Результат: Заголовок поста 1

Получить тип текущей записи внутри цикла:

$post_type = get_post_field( 'post_type' );

История версий

Функция появилась в WordPress 2.3.0. В версии 4.5.0 параметр $post стал необязательным.

Разработка сайтов на Wordpress