{"id":93047,"date":"2015-01-06T22:32:00","date_gmt":"2015-01-06T13:32:00","guid":{"rendered":"https:\/\/contactform7.com\/?p=93047"},"modified":"2026-10-16T22:34:03","modified_gmt":"2026-10-16T13:34:03","slug":"contact-form-7-41-beta","status":"publish","type":"post","link":"https:\/\/contactform7.com\/es\/2015\/01\/06\/contact-form-7-41-beta\/","title":{"rendered":"Contact Form 7 4.1 Beta"},"content":{"rendered":"<p>La versi\u00f3n 4.1 de Contact Form 7 se publicar\u00e1 pr\u00f3ximamente. En esta versi\u00f3n, he reconstruido el proceso de validaci\u00f3n de los datos introducidos por el usuario para reducir la cantidad de c\u00f3digo necesario y evitar errores. Si desarrollas plugins complementarios para Contact Form 7 que a\u00f1aden validaciones personalizadas, es posible que tengas que modificar tu c\u00f3digo para que funcione con Contact Form 7 4.1.<\/p>\n<p><br \/>\n<!--more--><\/p>\n<p>Puedes descargar Contact Form 7 4.1-beta desde el <a href=\"https:\/\/es.wordpress.org\/plugins\/contact-form-7\/developers\/\">directorio de plugins de WordPress.org<\/a>. Te recomiendo encarecidamente que pruebes tu c\u00f3digo con la versi\u00f3n beta antes del lanzamiento oficial de Contact Form 7 4.1. Si, despu\u00e9s de actualizar a Contact Form 7 4.1, un plugin complementario que utilizas deja de funcionar, informa de ello al autor del plugin.<\/p>\n<p>En Contact Form 7 4.1 se ha introducido la clase `WPCF7_Validation`. El par\u00e1metro `$result` que se pasa a las funciones de los filtros de validaci\u00f3n ahora es una instancia de la clase `WPCF7_Validation` (anteriormente, era un array asociativo multidimensional).<\/p>\n<p>La clase `WPCF7_Validation` implementa la interfaz `ArrayAccess`, por lo que se supone que sus instancias permiten acceder a sus elementos mediante la sintaxis de los arrays, como si fueran arrays normales. Por desgracia, parece que existe un defecto en la implementaci\u00f3n de `ArrayAccess` de PHP, ya que no es posible acceder a una instancia de `ArrayAccess` mediante \u00edndices multidimensionales.<\/p>\n<p>Si tu plugin contiene un c\u00f3digo como este:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\n\nif ( $condition_of_invalidity ) {\n\t$result&#x5B;'valid'] = false;\n\t$result&#x5B;'reason']&#x5B;$name] = wpcf7_get_message( 'blar_blar' ); \/\/ esta l\u00ednea provoca un error.\n}\n\n<\/pre>\n<p>Debes modificarlo de la siguiente manera para que siga funcionando en Contact Form 7 4.1 y versiones posteriores:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\n\nif ( $condition_of_invalidity ) {\n\t$result&#x5B;'valid'] = false;\n\t$result&#x5B;'reason'] = array( $name =&gt; wpcf7_get_message( 'blar_blar' ) );\n}\n\n<\/pre>\n<p>Si no necesitas mantener la compatibilidad con Contact Form 7 4.0.x o versiones anteriores, puedes simplificar el c\u00f3digo utilizando el m\u00e9todo `invalidate()` de la clase `WPCF7_Validation`:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\n\nif ( $condition_of_invalidity ) {\n\t$result-&gt;invalidate( $name, wpcf7_get_message( 'blar_blar' ) );\n}\n\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>La versi\u00f3n 4.1 de Contact Form 7 se publicar\u00e1 pr\u00f3ximamente. En esta versi\u00f3n, he reconstruido el proceso de validaci\u00f3n de los datos introducidos por el usuario para reducir la cantidad de c\u00f3digo necesario y evitar errores. Si desarrollas plugins complementarios para Contact Form 7 que a\u00f1aden validaciones personalizadas, es posible que tengas que modificar tu &hellip; <a href=\"https:\/\/contactform7.com\/es\/2015\/01\/06\/contact-form-7-41-beta\/\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">Contact Form 7 4.1 Beta<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_locale":"es_ES","_original_post":"12843","footnotes":"","jetpack_post_was_ever_published":false},"categories":[4],"tags":[],"class_list":["post-93047","post","type-post","status-publish","format-standard","hentry","category-releases","es-ES"],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/posts\/93047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/comments?post=93047"}],"version-history":[{"count":0,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/posts\/93047\/revisions"}],"wp:attachment":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/media?parent=93047"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/categories?post=93047"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/tags?post=93047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}