Что делает 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 стал необязательным.