El valor 31 es el que adquiere el campo de forma predeterminada.
En cuanto al error que te está devolviendo tiene pinta de que tienes algún campo personalizado en tu formulario de facturación que carece de prioridad. ¿Podrías poner entre las líneas 56 y 57 esto y pegarnos el resultado que te mostrará en pantalla?
echo "<pre>"; print_r( $campos ); echo "</pre>";
A ver si nos podemos hacer una idea del problema que te genera y publicar una nueva versión que lo evite.
Gracias por el aviso.
Un saludo.
Buenas tardes de nuevo y gracias por la pronta respuesta.
Después de añadir la línea que me indicas, ahora aparece la siguiente “parrafada” en la sección Prioridad del campo:
Tus valores actuales son:
Array ( [billing_first_name] => Array ( [label] => Nombre [required] => 1 [class] => Array ( [0] => form-row-first ) [autocomplete] => given-name ) [billing_last_name] => Array ( [label] => Apellidos [required] => 1 [class] => Array ( [0] => form-row-last ) [autocomplete] => family-name ) [billing_company] => Array ( [label] => Nombre de la empresa [class] => Array ( [0] => form-row-wide ) [autocomplete] => organization [required] => ) [billing_country] => Array ( [type] => country [label] => País / Región [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field [2] => update_totals_on_change ) [autocomplete] => country ) [billing_address_1] => Array ( [label] => Dirección de la calle [placeholder] => Número de la casa y nombre de la calle [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field ) [autocomplete] => address-line1 ) [billing_address_2] => Array ( [label] => Apartamento, habitación, escalera, etc. [label_class] => Array ( [0] => screen-reader-text ) [placeholder] => Apartamento, habitación, etc. (opcional) [class] => Array ( [0] => form-row-wide [1] => address-field ) [autocomplete] => address-line2 [required] => ) [billing_city] => Array ( [label] => Población [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field ) [autocomplete] => address-level2 ) [billing_state] => Array ( [type] => state [label] => Provincia [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field [2] => update_totals_on_change ) [validate] => Array ( [0] => state ) [autocomplete] => address-level1 [country_field] => billing_country [country] => ES ) [billing_postcode] => Array ( [label] => Código postal [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field [2] => update_totals_on_change ) [validate] => Array ( [0] => postcode ) [autocomplete] => postal-code ) [billing_nif] => Array ( [label] => NIF/CIF/NIE [placeholder] => Número NIF/CIF/NIE [required] => 1 ) [billing_phone] => Array ( [label] => Teléfono [required] => [type] => tel [class] => Array ( [0] => form-row-wide ) [validate] => Array ( [0] => phone ) [autocomplete] => tel [priority] => 100 ) [billing_email] => Array ( [label] => Dirección de correo electrónico [required] => 1 [type] => email [class] => Array ( [0] => form-row-wide ) [validate] => Array ( [0] => email ) [autocomplete] => email [priority] => 110 ) )
Warning: Undefined array key “priority” in C:\XXXX\app\public\wp-content\plugins\wc-apg-nifcifnie-field\includes\formulario.php on line 59
Nombre: .
Warning: Undefined array key “priority” in C:\XXXX\app\public\wp-content\plugins\wc-apg-nifcifnie-field\includes\formulario.php on line 59
Apellidos: .
Y así sigue hasta abajo de la misma manera que antes. Ahora la línea es la 59 por haber añadido la que me habéis pasado.
Si necesitáis que haga más pruebas no dudéis en indicármelo.
Gracias de nuevo.
Gracias.
Efectivamente hay algo mal en tu web de pruebas ya que de forma nativa todos los campos tienen su propia prioridad y debería haberte devuelto algo así:
Array
(
[billing_first_name] => Array
(
[label] => First name
[required] => 1
[class] => Array
(
[0] => form-row-first
)
[autocomplete] => given-name
[priority] => 10
)
[billing_last_name] => Array
(
[label] => Last name
[required] => 1
[class] => Array
(
[0] => form-row-last
)
[autocomplete] => family-name
[priority] => 20
)
[billing_company] => Array
(
[label] => Company name
[class] => Array
(
[0] => form-row-wide
)
[autocomplete] => organization
[priority] => 30
[required] =>
)
[billing_nif] => Array
(
[label] => NIF/CIF/NIE
[placeholder] => NIF/CIF/NIE number
[priority] => 31
[required] =>
)
[billing_country] => Array
(
[type] => country
[label] => Country / Region
[required] => 1
[class] => Array
(
[0] => form-row-wide
[1] => address-field
[2] => update_totals_on_change
)
[autocomplete] => country
[priority] => 40
)
[billing_address_1] => Array
(
[label] => Street address
[placeholder] => House number and street name
[required] => 1
[class] => Array
(
[0] => form-row-wide
[1] => address-field
)
[autocomplete] => address-line1
[priority] => 50
)
[billing_address_2] => Array
(
[label] => Apartment, suite, unit, etc.
[label_class] => Array
(
[0] => screen-reader-text
)
[placeholder] => Apartment, suite, unit, etc. (optional)
[class] => Array
(
[0] => form-row-wide
[1] => address-field
)
[autocomplete] => address-line2
[priority] => 60
[required] =>
)
[billing_postcode] => Array
(
[label] => Postcode / ZIP
[required] => 1
[class] => Array
(
[0] => form-row-wide
[1] => address-field
[2] => update_totals_on_change
)
[validate] => Array
(
[0] => postcode
)
[autocomplete] => postal-code
[priority] => 65
)
[billing_city] => Array
(
[label] => Town / City
[required] => 1
[class] => Array
(
[0] => form-row-wide
[1] => address-field
)
[autocomplete] => address-level2
[priority] => 70
)
[billing_state] => Array
(
[type] => state
[label] => Province
[required] => 1
[class] => Array
(
[0] => form-row-wide
[1] => address-field
[2] => update_totals_on_change
)
[validate] => Array
(
[0] => state
)
[autocomplete] => address-level1
[priority] => 80
[country_field] => billing_country
[country] => ES
)
[billing_phone] => Array
(
[label] => Phone
[required] => 1
[type] => tel
[class] => Array
(
[0] => form-row-wide
)
[validate] => Array
(
[0] => phone
)
[autocomplete] => tel
[priority] => 100
)
[billing_email] => Array
(
[label] => Email address
[required] => 1
[type] => email
[class] => Array
(
[0] => form-row-wide
)
[validate] => Array
(
[0] => email
)
[autocomplete] => email username
[priority] => 110
)
)
Pondremos un código que evitará el error para la próxima actualización. Aún así deberías revisar que no tienes ningún plugin que manipule el formulario de facturación ya que lo que obtienes no es lo normal.
Un saludo.
Hasta que hagamos pública la nueva versión cambia la línea 58 por estas dos:
$prioridad = ( isset( $campo[ 'priority' ] ) ) ? $campo[ 'priority' ] : '';
echo "<li>{$campo[ 'label' ]}: $prioridad.</li>";
Te saldrán los campos con o sin prioridad, pero no te devolverá error.
Un saludo.