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 ); }