get_row() ACF 5.3.3

Отримує масив (у форматі name => value ) для поточного рядка циклу have_rows() .

Порівняння з функцією the_row()

Функція повертає ті ж дані що і функція have_rows() .

Працює на основі:
acf_get_loop() ,
acf_maybe_get() ,
acf_format_value()

Хуків немає.

Повертає

null. Масив у форматі name => value.

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

get_row($format_value);
$format_value
(true/false)
Чи застосовувати логіку форматування.


Типово: true

Приклади

0

#1 Завантажимо поточні значення рядка та відобразити їх

<?php if( have_rows('slides') ): ?>

	<?php
	while( have_rows('slides') ): the_row();

		// Get all values ​​for this row.
		$row = get_row();

		// Check for image value.
		if( $row['image'] ){
			?>
			<img src="<?php echo $row['image']; ?>" />
			<p><?php echo $row['caption']; ?></p>
			<?php
		}
		?>

	<?php endwhile; ?>

<?php endif; ?>

Код get_row() ACF 5.10.2

function get_row( $format = false ) {

	//vars
	$loop = acf_get_loop( 'active' );

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

	// get value
	$value = acf_maybe_get( $loop['value'], $loop['i'] );

	// bail early if no current value
	// possible if get_row_layout() is called before the_row()
	if ( ! $value ) {
		return false;
	}

	// format
	if ($format) {

		//vars
		$field = $loop['field'];

		// single row
		if ( acf_get_field_type_prop( $field['type'], 'have_rows' ) === 'single' ) {

			// format value
			$value = acf_format_value( $value, $loop['post_id'], $field );

			// multiple rows
		} else {

			// format entire value
			// - solves problem where cached value is incomplete
			// - no performance issues here thanks to cache
			$value = acf_format_value( $loop['value'], $loop['post_id'], $field );
			$value = acf_maybe_get( $value, $loop['i'] );

		}
	}

	// return
	return $value;

}

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

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