# Функция GET_POST_FIELD() │ WP 2.3.0
Функция GET_POST_FIELD()
позволяет получить значение любого поля поста на основе переданного ID поста. Это могут быть такие поля, как тип поста, статус поста, содержимое поста и т.д.
Примеры полей поста:
- post_type
(тип поста)
- post_status
(статус поста)
- post_content
(содержимое поста)
Значения контекста основаны на функциях фильтрации таксономий, а поддерживаемые значения можно найти в этих функциях.
Результат будет отфильтрован в зависимости от параметра $context
.
## Производительность
- Использует: sanitize_post_field()
- 1 вызов — 0.000635 сек (медленно)
- 50000 вызовов — 2.23 сек (быстро)
## Возвращаемое значение
Функция возвращает строку с значением поля поста в случае успеха, или пустую строку в случае ошибки.
## Использование
```php
get_post_field( $field, $post, $context );
Параметры:
-
$field (строка) (обязательный)
Имя поля, данные которого вы хотите получить. Это может быть любое имя столбца из таблицыwp_posts
.
Примеры:post_content
post_author
post_title
post_name
-
$post (int/WP_Post)
ID поста или объект поста, значение поля которого мы собираемся получить.
По умолчанию: текущий пост. -
$context (строка)
Определяет, как фильтровать поле. Принимает следующие значения:raw
— без какой-либо очистки.edit
— для дальнейшего редактирования.db
— для использования в запросе к базе данных.display
— для отображения.attribute
— для использования в атрибуте.js
— для использования в данных скрипта.
По умолчанию: 'display'.
Примеры использования
Пример 1: Получение заголовка поста
$field = get_post_field( 'post_title', 1, 'db' );
echo $field;
// вывод: Заголовок поста с ID 1
Примечания
- Посмотрите также:
sanitize_post_field()
История изменений
- С версии 2.3.0 — функция была введена.
- С версии 4.5.0 — параметр
$post
стал необязательным.
Код функции GET_POST_FIELD() в WP 6.7.2
function get_post_field( $field, $post = null, $context = 'display' ) {
$post = get_post( $post );
if ( ! $post ) {
return '';
}
if ( ! isset( $post->$field ) ) {
return '';
}
return sanitize_post_field( $field, $post->$field, $post->ID, $context );
}
Связанные функции
edit_post_link()
get_delete_post_link()
get_edit_post_link()
get_permalink()
get_post_status()
get_post_time()
get_sample_permalink()
get_the_content()
get_the_date()
get_the_excerpt()
get_the_ID()
get_the_modified_date()
get_the_modified_time()
get_the_permalink()
get_the_time()
get_the_title()
get_the_title_rss()
has_excerpt()
post_password_required()
register_post_status()
single_post_title()
the_author()
the_content()
the_date()
the_excerpt()
the_excerpt_rss()
the_ID()
the_modified_date()
the_permalink()
the_time()
the_title()
the_title_attribute()