• Resolved jasalopodo

    (@jasalopodo)


    Buenas tardes.
    En principio el plugin funciona correctamente, pero cuando voy a WooCommerce/Campo NIF/CIF/NIE > Prioridad del campo, donde aparece el número 31 (no recuerdo haber puesto haya allí. El campo NIF/CIF/NIE me aparece después del campo Código Postal en el checkout), debajo me aparece este error para cada campo del formulario hasta llegar a los 3 últimos campos

    10. NIF/CIF/NIE: .
    11. Teléfono: 100.
    12. Dirección de correo electrónico: 110.

    Warning: Undefined array key “priority” in C:\XXXXXX\app\public\wp-content\plugins\wc-apg-nifcifnie-field\includes\formulario.php on line 58

    (estoy desarrollando la página en local)

    Y la línea 58 de dicho php es esta:

    echo “{$campo[ ‘label’ ]}: {$campo[ ‘priority’ ]}.”;

    • This topic was modified 1 year, 8 months ago by jasalopodo.
Viewing 8 replies - 1 through 8 (of 8 total)
  • Plugin Author Art Project Group

    (@artprojectgroup)

    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.

    Thread Starter jasalopodo

    (@jasalopodo)

    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.

    Plugin Author Art Project Group

    (@artprojectgroup)

    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.

    Plugin Author Art Project Group

    (@artprojectgroup)

    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.

    Thread Starter jasalopodo

    (@jasalopodo)

    Gracias por la respuesta. Voy a probar a poner lo que me indicas.

    Entiendo que debo cambiar la línea 58

    echo “{$campo[ ‘label’ ]}: {$campo[ ‘priority’ ]}.”;

    por las 2 que me indicas…

    Por si sirve de algo, mencionar que uso el tema Blocksy y que lo único que recuerdo haber tocado del formulario de facturación, aparte de a?adir el campo para el NIF/CIF/NIE, son estas opciones de personalización del tema:

    https://ibb.co/HP5D0h1

    Thread Starter jasalopodo

    (@jasalopodo)

    Listo. Ya no me aparecen los errores. Ahora me sale esto:

    Tus valores actuales son:

    1. Nombre: .
    2. Apellidos: .
    3. Nombre de la empresa: .
    4. País / Región: .
    5. Dirección de la calle: .
    6. Apartamento, habitación, escalera, etc.: .
    7. Población: .
    8. Provincia: .
    9. Código postal: .
    10. NIF/CIF/NIE: .
    11. Teléfono: 100.
    12. Dirección de correo electrónico: 110.

    Entiendo que alguno/s de los campos en los que no se indica la prioridad es el/los que no tiene/n dicha prioridad.

    Una última pregunta y damos por cerrada la incidencia: este hecho de que haya algún campo sin prioridad, ?implica que pueda fallar el proceso de compra o los datos que se recaban del comprador? ?O es meramente que no puedo decidir en qué lugar poner el campo de, por ej, NIF/CIF/NIE?

    Plugin Author Art Project Group

    (@artprojectgroup)

    Efectivamente los campos que no indican número de prioridad es porque algún código ha eliminado los valores nativos.

    El único problema que te puede generar es que en el checkout no se sepa cómo ordenar correctamente los campos y te salgan desordenados. Por lo demás no hay problema.

    Un saludo.

    Thread Starter jasalopodo

    (@jasalopodo)

    Muchísimas gracias por tu atención y rápida resolución del problema.

Viewing 8 replies - 1 through 8 (of 8 total)
  • The topic ‘Warning: Undefined array key “priority” in’ is closed to new replies.