WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Авторские Темы для WordPress
функция не описана

acf_convert_rules_to_groups() ACF 5.7.4

Converts an array of rules from ACF4 to an array of groups for ACF5

Хуков нет.

Возвращает

Массив.

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

acf_convert_rules_to_groups( $rules, $anyorall );
$rules(массив) (обязательный)
An array of rules.
$anyorall(строка)
The anyorall setting used in ACF4.
По умолчанию: 'any'

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

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

Код acf_convert_rules_to_groups() ACF 5.9.1

<?php
function acf_convert_rules_to_groups( $rules, $anyorall = 'any' ) {
	
	// vars
	$groups = array();
	$index = 0;
	
	// loop
	foreach( $rules as $rule ) {
		
		// extract vars
		$group = acf_extract_var( $rule, 'group_no' );
		$order = acf_extract_var( $rule, 'order_no' );
		
		// calculate group if not defined
		if( $group === null ) {
			$group = $index;
			
			// use $anyorall to determine if a new group is needed
			if( $anyorall == 'any' ) {
				$index++;
			}
		}
		
		// calculate order if not defined
		if( $order === null ) {
			$order = isset($groups[ $group ]) ? count($groups[ $group ]) : 0;
		}
		
		// append to group
		$groups[ $group ][ $order ] = $rule;
		
		// sort groups
		ksort( $groups[ $group ] );
	}
	
	// sort groups
	ksort( $groups );
	
	// return
	return $groups;
}