acf_convert_rules_to_groups()
acf_convert_rules_to_groups
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 convert rules to groups ACF 6.4.2
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;
}