get_fields() ACF 3.6

Повертає масив з усіма значеннями полів для певного запису, користувача, коментаря, терміна і так далі.

Функція не дуже елегантна і витрачає багато пам’яті PHP / SQL запитів, якщо ви не використовуєте всі значення.

Працює на основі:
get_field_objects()

Хуків немає.

Повертає

(Массив). Асоціативний масив (field name => field value).

Використання

get_fields($post_id, $format_value);
$post_id
(mixed)
ID запису (користувача, рубрики та .д.), для якого потрібно отримати метаполя.


За промовчанням: false (ID поточного запису в циклі)
$format_value
(bool)
Чи використовувати форматування, вказане в параметрах поля.


Типово: true

Приклади

0

#1 Отримаємо значення метаполів для поточного запису

Відобразимо для поточного запису як списку все метаполя (імена полів та його значення).

$fields = get_fields();

if( $fields ): ?>
	<ul>
		<?php foreach( $fields as $name => $value ): ?>
			<li><b><?php echo $name; ?></b> <?php echo $value; ?></li>
		<?php endforeach; ?>
	</ul>
<?php endif; ?>
0

#2 Отримаємо значення для різних сутностей

// Отримаємо значення всіх метаполів поточного запису.
$fields = get_fields();

// Отримаємо значення всіх метаполів запису з ID = 1.
$post_fields = get_fields(1);

// Отримаємо значення всіх метаполів користувача ID = 2.
$user_fields = get_fields( 'user_2');

// Отримаємо значення всіх метаполів терміна ID = 3.
$term_fields = get_fields( 'term_3');

// Отримаємо значення всіх метаполів терміна з таксономією категорії та ID = 3.
$term_fields = get_fields( 'category_3');

// Отримаємо значення всіх метаполів коментаря з ID = 4.
$comment_fields = get_fields( 'comment_4');

// Отримаємо значення всіх метаполів всіх сторінок опцій, створених ACF.
$option_fields = get_fields('options');

// Або так.
$option_fields = get_fields('option');
0

#3 Отримаємо значення метаполів для поточного запису без форматування

У цьому прикладі показано, як отримати всі поля (ім’я та значення) без форматування.

Форматування стосується того, як змінюються значення після завантаження з бази даних. Наприклад, значення поля зображення зберігається у базі даних як просто ID вкладення, але може бути повернуто у вигляді URL-адреси, залежно від параметрів поля.

У деяких випадках може бути корисно переконатися, що повертається лише необроблене значення, незалежно від параметрів поля. Для цього ми використовуємо параметр $format_value.

$fields = get_fields(123, false);

список змін

З версії 3.6Введено.

get fields ACF 5.10.2

function get_fields( $post_id = false, $format_value = true ) {

	//vars
	$fields = get_field_objects($post_id, $format_value);
	$meta = array();

	// bail early
	if (! $fields) {
		return false;
	}

	// populate
	foreach ( $fields as $k => $field ) {

		$meta[ $k ] = $field['value'];

	}

	// return
	return $meta;

}

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

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