WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Платформа для конвертации и монетизации трафика

get_row() ACF 5.3.3

Получает массив (в формате name => value) для текущей строки из цикла have_rows().

Сравнение с функцией the_row()

Функция возвращает те же данные что и функция the_row(), однако, она не включает в себя обработку строк в цикле have_rows().

Работает на основе: acf_get_loop(), acf_maybe_get(), acf_format_value()

Хуков нет.

Возвращает

Массив. Массив в формате name => value.

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

get_row( $format_value );
$format_value(true/false)
Применять ли логику форматирования.
По умолчанию: true

Примеры

#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.9.1

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

Из раздела: ACF

alexlead 70codepen.io/alexlead
Редакторы: Kama 7881
Комментариев нет
    Войти