Как насчет этого?
function custom_order_fields($fields) {
$order = array(
"billing_first_name",
"billing_last_name",
"billing_country",
"billing_address_1",
"billing_address_2",
"billing_state",
"billing_city",
"billing_phone",
"billing_email"
);
foreach($order as $key => $field)
{
if (!empty($fields["billing"][$field]))
$fields["billing"][$field]['priority'] = ($key + 1) * 10;
}
return $fields;
}
другое решение - создать массив $order
следующим образом:
function custom_order_fields($fields) {
$order = array(
"billing_first_name" => 10,
"billing_last_name" => 20,
"billing_country" => 30,
"billing_address_1" => 40,
"billing_address_2" => 50,
"billing_state" => 60,
"billing_city" => 70,
"billing_phone" => 80,
"billing_email" => 90
);
foreach($order as $field => $priority)
{
if (!empty($fields["billing"][$field])) {
$fields["billing"][$field]['priority'] = $priority;
}
}
return $fields;
}