get_post_field

Получает значение любого поля данных поста по переданному ID поста: post_type, post_status, post_content

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

✈ 1 раз = 0.000635с = медленно | 50000 раз = 2.23с = быстро

Хуков нет.

Возвращает

Объект WP_Error или строку. Значение поля.

Использование

get_post_field( $field, $post, $context );
$field(строка) (обязательный)
Название поля, данные которого нужно получить. Может быть названием любой колонки таблицы wp_posts.
По умолчанию: нет
$post(число)
ID поста, данные поля которого мы собрались получать. C версии 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

Код из


wp-includes/post.php

WP 4.7.2

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

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *