get_post_field() WP 2.3.0

Отримує значення будь-якого поля даних посту за переданим ID постом: post_type, post_status, post_content

Результат буде відфільтровано за параметром $context.

Працює на основі:
sanitize_post_field()
1 раз – 0.000635 сек
(повільно) | 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’

Приклади

0

#1 Отримаємо поле post_title у посту з ID = 1 і відфільтруємо його для використання у запиті до БД:

$field = get_post_field( 'post_title', 1, 'db');
echo $field;

// Отримаємо: Заголовок поста 1

нотатки

список змін

З версії 2.3.0Введено.
З версії 4.5.0The $post parameter був зроблений optional.

Код 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 );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *