get_post_custom

Возвращает многомерный массив с данными всех произвольных полей текущего поста.

Вместо этой функции можно использовать get_post_meta( $post_id ). Разница между ними в том, что get_post_meta() нужно передавать ID записи, а get_post_custom() получит ID текущей записи автоматически, если не передать $post_id.

Хуков нет.

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

get_post_custom( $post_id );
$post_id(число)
ID поста, данные о произвольных полях которого нужно получить.
По умолчанию: Текущий пост (определяется по переменной $post)

Примеры

#1. Получим все произвольные поля записи

Используйте следующий пример, чтобы передать в переменную $custom_fields все данные о произвольных полях текущего поста.

$custom_fields = get_post_custom();

#2. Получим одинаковые метаполя записи с разными значениями

Получим значения произвольных полей с ключом my_custom_field у поста 72 (подразумевается что у поста таких полей 3 со значениями “dogs”, “47” и “селфи” )

$custom_fields = get_post_custom(72);
$my_custom_field = $custom_fields['my_custom_field'];
foreach ( $my_custom_field as $key => $value )
	echo $key . " => " . $value . "<br />";

В результате на экране мы увидим следующее:
0 => dogs
1 => 47
2 => селфи

#3. Еще примеры можно посмотреть здесь.

Код из


wp-includes/post.php

WP 4.7.2

<?php
function get_post_custom( $post_id = 0 ) {
	$post_id = absint( $post_id );
	if ( ! $post_id )
		$post_id = get_the_ID();

	return get_post_meta( $post_id );
}