_wp_preview_meta_filter()WP 6.4.0

Filters preview post meta retrieval to get values from the autosave.

Filters revisioned meta keys only.

Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.

Хуков нет.

Возвращает

Разное. Original meta value if the meta key isn't revisioned, the object doesn't exist, the post type is a revision or the post ID doesn't match the object ID. Otherwise, the revisioned meta value is returned for the preview.

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

_wp_preview_meta_filter( $value, $object_id, $meta_key, $single );
$value(разное) (обязательный)
Meta value to filter.
$object_id(int) (обязательный)
Object ID.
$meta_key(строка) (обязательный)
Meta key to filter a value for.
$single(true|false) (обязательный)
Whether to return a single value.
По умолчанию: false

Список изменений

С версии 6.4.0 Введена.

Код _wp_preview_meta_filter() WP 6.6.2

function _wp_preview_meta_filter( $value, $object_id, $meta_key, $single ) {

	$post = get_post();
	if (
		empty( $post ) ||
		$post->ID !== $object_id ||
		! in_array( $meta_key, wp_post_revision_meta_keys( $post->post_type ), true ) ||
		'revision' === $post->post_type
	) {
		return $value;
	}

	$preview = wp_get_post_autosave( $post->ID );
	if ( false === $preview ) {
		return $value;
	}

	return get_post_meta( $preview->ID, $meta_key, $single );
}