get_post_field()
Отримує значення будь-якого поля даних посту за переданим ID постом: post_type, post_status, post_content…
Результат буде відфільтровано за параметром $context.
Працює на основі:
sanitize_post_field()
sanitize_post_field()
1 раз – 0.000635 сек
(повільно) | 50000 разів – 2.23 сек
(швидко)
(повільно) | 50000 разів – 2.23 сек
(швидко)
Хуків немає.
Повертає
Строку. Об’єкт WP_Error або рядок. Значення поля.
Використання
get_post_field($field, $post, $context);
- $field
(рядок) (обов’язковий) - Назву поля, дані якого потрібно отримати. Може бути назвою будь-якої колонки
таблиці wp_posts . - $post
(число) - ID посту, дані поля якого ми зібралися отримувати. З версії 4.5. параметр став необов’язковий.
Типово: null - $context
(рядок) Вказівка, як фільтрувати отримуване поле. Залежно від того, як далі ми використовуватимемо дані. Може бути:
raw– без будь-якої очистки.edit– Для подальшого редагування.db– для використання у запиті.display– Виведення на екран.attribute– Для використання в атрибуті.js– для використання у даних скрипта.
Типово: ‘display’
Приклади
#1 Отримаємо поле post_title у посту з ID = 1 і відфільтруємо його для використання у запиті до БД:
$field = get_post_field( 'post_title', 1, 'db'); echo $field; // Отримаємо: Заголовок поста 1
нотатки
- Дивіться: sanitize_post_field()
список змін
| З версії 2.3.0 | Введено. |
| З версії 4.5.0 | The $post parameter був зроблений optional. |
Код get_post_field() get post field WP 6.0.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 );
}