{"id":1289,"date":"2022-09-22T14:43:36","date_gmt":"2022-09-22T19:43:36","guid":{"rendered":"http:\/\/racmanuel.dev\/?p=1289"},"modified":"2025-02-05T17:05:57","modified_gmt":"2025-02-05T23:05:57","slug":"conectarse-a-una-base-de-datos-externa-e-insertar-registros-de-gravity-forms","status":"publish","type":"post","link":"https:\/\/racmanuel.dev\/en\/conectarse-a-una-base-de-datos-externa-e-insertar-registros-de-gravity-forms\/","title":{"rendered":"Conectarse a una base de datos externa e insertar registros de Gravity Forms"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Antes de iniciar con el tutorial te explicare:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"que-es-gravity-forms\"><span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">\u00bfQu\u00e9 es Gravity Forms?<\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.gravityforms.com\/\" data-type=\"URL\" data-id=\"https:\/\/www.gravityforms.com\/\" target=\"_blank\" rel=\"noreferrer noopener sponsored nofollow\">Gravity Forms<\/a> es un plugin para <a href=\"https:\/\/es-mx.wordpress.org\/\" data-type=\"URL\" data-id=\"https:\/\/es-mx.wordpress.org\/\" target=\"_blank\" rel=\"noreferrer noopener sponsored nofollow\">WordPress<\/a> que permite dise\u00f1ar y crear r\u00e1pidamente formularios para <a href=\"https:\/\/es-mx.wordpress.org\/\" data-type=\"URL\" data-id=\"https:\/\/es-mx.wordpress.org\/\" target=\"_blank\" rel=\"noreferrer noopener sponsored nofollow\">WordPress<\/a> utilizando un intuitivo editor de formulario visual que es muy parecido a la interfaz del nuevo editor de WordPress (<a href=\"https:\/\/es-mx.wordpress.org\/plugins\/gutenberg\/\" data-type=\"URL\" data-id=\"https:\/\/es-mx.wordpress.org\/plugins\/gutenberg\/\" target=\"_blank\" rel=\"noreferrer noopener sponsored nofollow\">Gutenberg<\/a>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero bueno una vez aclarado este concepto podemos proceder al:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"como-hacerlo\"><span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">\u00bfC\u00f3mo hacerlo?<\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bueno pues Gravity Forms es un muy buen plugin de formularios que nos permite a los Desarrolladores de WordPress acelerar los tiempos de desarrollo con su plugin, hace tiempo hice un desarrollo de para un cliente y necesitaba registrar los datos que se obten\u00edan en Gravity Forms en una base de datos externa, para resolverlo he utilizado el siguiente c\u00f3digo, basta con agregar el siguiente c\u00f3digo en el archivo <em>functions.php<\/em> de tu tema hijo:<\/p>\n\n\n\n<pre title=\"\" class=\"wp-block-code\"><code lang=\"php\" class=\"language-php line-numbers\">&lt;?php\n\nadd_action('gform_after_submission', 'add_data_custom_db', 10, 2);\nfunction add_data_custom_db($entry, $form)\n{\n\t\/**\n\t * Definimos los datos de conexion de la Base de Datos.\n\t *\/\n    $DB_USER = 'root';\n    $DB_PASSWORD = 'root';\n    $DB_NAME = 'pruebas';\n    $DB_HOST = 'localhost';\n\t$DB_TABLE = 'datos';\n\n    \/*\n     * Si quieres revisar que datos puedes extraer del formulario de Gravity Forms\n     * mediante el Objeto $entry usa la siguientes l\u00edneas.\n     *\/\n    echo '&lt;pre&gt;';\n    var_dump($entry);\n    echo '&lt;\/pre&gt;';\n\n\t\/**\n\t * Gravity Forms - Entry Object\n\t * Para mas informaci\u00f3n acerca del Objeto $entry puedes visitar la documentaci\u00f3n oficial:            https:\/\/docs.gravityforms.com\/entry-object\/\n\t *\/\n    $date = rgar( $entry, 'date_created' ); \/\/ Devuelve la fecha de creaci\u00f3n del registro.\n\t$name = rgar( $entry, '1.3' );  \/\/ Devuelve el valor asociado con el campo de nombre de Gravity Forms, solamente el nombre. \n\t$age = $entry['2'];\n\n    \/**\n\t * Creamos un nuevo objeto de la clase wpdb para poder conectar la base de datos externa y enviar los datos, ejecuta una funcion SQL y devuelve un obejto PHP.\n\t *\/\n    $newdb = new wpdb($DB_USER, $DB_PASSWORD, $DB_NAME, $DB_HOST);\n\t\/\/ Muestra los errores al hacer la conexion.\n\t$newdb-&gt;show_errors();\n\n\t\/**\n\t * Declaraci\u00f3n SQL para insertar en base de datos externa con Gravity Forms\n\t *\/\n\t$sql = $newdb-&gt;prepare(\"INSERT INTO `$DB_TABLE` (`Nombre`, `Edad`) values (%s, %d)\", $name, $age);\n\t\/\/ Execute the SQL Query\n\t$newdb-&gt;query($sql);\n}\n?&gt;<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"conclusion\"><span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">Conclusi\u00f3n<\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Este c\u00f3digo es muy \u00fatil cuando se har\u00e1 alg\u00fan tipo de tratamiento a los datos o bien poderlo consultar fuera de <a href=\"https:\/\/es-mx.wordpress.org\/\" rel=\"nofollow noopener\" target=\"_blank\">WordPress<\/a> con una aplicaci\u00f3n web hecha con alguna otra tecnolog\u00eda, adem\u00e1s de que puede ser una alternativa para evitar la sobrecarga en la base de datos de WordPress, si se tiene planeado realizar miles de registros.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aun-con-dudas\"><strong><span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">\u00bfA\u00fan con dudas?<\/span><\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Si \u00bfNecesitas ayuda con alg\u00fan proyecto web? No dudes en contactarme desarrollo soluciones completas y personalizadas con WordPress y PHP, con herramientas y procesos modernos, utilizando HTML, CSS, SCSS, PHP, JavaScript, Bootstrap y m\u00e1s\u2026 Si \u00bfEst\u00e1s listo? \u00a1Env\u00edame un mensaje y hablemos de tu proyecto web!<\/p>\n\n\n<div class=\"wp-block-groundhogg-forms\">\n\t<div class=\"gh-form-wrapper\"><form method=\"post\" class=\"gh-form gh-form-v2\" target=\"_parent\" enctype=\"multipart\/form-data\" name=\"Formulario de Contacto\" id=\"gh-form-24\" data-id=\"24\"><div class=\"gh-form-fields\"><div class=\"gh-form-column col-1-of-2\"><label for=\"first_name\">Nombre <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"text\" name=\"first_name\" id=\"first_name\" class=\"gh-input gh-first-name\" value=\"\" required\/><\/div><\/div><div class=\"gh-form-column col-1-of-2\"><label for=\"last_name\">Apellido(s) <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"text\" name=\"last_name\" id=\"last_name\" class=\"gh-input gh-last-name\" value=\"\" required\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"email\">Correo electr\u00f3nico <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"email\" name=\"email\" id=\"email\" class=\"gh-input gh-email\" value=\"\" required\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"primary_phone\">Tel\u00e9fono o WhatsApp <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"tel\" name=\"primary_phone\" id=\"primary_phone\" class=\"gh-input\" value=\"\" required\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"nombre_de_tu_negocio_o_empresa\">Nombre de tu Negocio o Empresa<\/label><div class=\"gh-form-input-field\"><input type=\"text\" name=\"nombre_de_tu_negocio_o_empresa\" id=\"nombre_de_tu_negocio_o_empresa\" class=\"gh-input\" value=\"\"\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"link_de_tu_pagina_web\">Link de tu pagina web<\/label><div class=\"gh-form-input-field\"><input type=\"url\" name=\"link_de_tu_pagina_web\" id=\"link_de_tu_pagina_web\" class=\"gh-input\" value=\"\" placeholder=\"Si tu negocio o empresa tiene p\u00e1gina web ingresa aqu\u00ed el link.\"\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"question_type\">\u00bfQu\u00e9 tipo de pregunta tienes? <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><select name=\"question_type\" id=\"question_type\" class=\"gh-input\" required><option value=\"Cotizaci\u00f3n\">Cotizaci\u00f3n<\/option><option value=\"General\">General<\/option><option value=\"Soporte\">Soporte<\/option><\/select><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"message\">Pregunta <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><textarea name=\"message\" id=\"message\" class=\"gh-input\" rows=\"7\" placeholder=\"Tu pregunta o duda...\" type=\"text\" required><\/textarea><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><div class=\"consent gh-gdpr\" id=\"gdpr_consent\"><div ><label class=\"gh-checkbox-label\"><input type=\"checkbox\" name=\"data_processing_consent\" id=\"data-processing-consent\" class=\"\" value=\"yes\" required\/><span class=\"checkbox-label\">I agree to racmanuel.dev&#8217;s storage and processing of my personal data. <span class=\"required\">*<\/span><\/span><\/label><\/div><div ><label class=\"gh-checkbox-label\"><input type=\"checkbox\" name=\"marketing_consent\" id=\"marketing-consent\" class=\"\" value=\"yes\"\/><span class=\"checkbox-label\">I agree to receive marketing offers and updates from racmanuel.dev.<\/span><\/label><\/div><\/div><\/div><div class=\"gh-form-column col-1-of-3\"><button type=\"submit\" class=\"gh-submit gh-button primary\" value=\"\">\u00a1P\u00f3ngase en contacto!<\/button><\/div><\/div><\/form><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Gravity Forms es plugin de formularios que nos permite a los Desarrolladores de WordPress acelerar los tiempos de desarrollo con su plugin, hace tiempo hice un desarrollo de para un cliente y necesitaba registrar los datos que se obten\u00edan en Gravity Forms en una base de datos externa, bueno pues para resolverlo he utilizado el siguiente c\u00f3digo.<\/p>","protected":false},"author":1,"featured_media":1306,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":".gs-autolist{margin:15px 0 30px;border:1px solid #dddddd7d}.gs-autolist-item{padding:15px 15px 15px 5px;display:flex;align-items:center}.gs-autolist-title,.gs-autolist-title a{font-size:18px;line-height:24px;text-decoration:none!important}#gspb_toc-id-gsbp-f79c550d-51f0 .gs-autolist-item{background-color:#fff}#gspb_toc-id-gsbp-f79c550d-51f0 .gs-autolist-item:nth-child(2n){background-color:#eee}#gspb_toc-id-gsbp-f79c550d-51f0 .gs-autolist-title a{color:#000}#gspb_toc-id-gsbp-f79c550d-51f0 .gs-autolist-number{border-radius:50%;margin:0 20px 0 15px;text-align:center;font-weight:700;background:#de1414;color:#fff;height:25px;line-height:25px;width:25px;font-size:16px;min-width:25px}","_glsr_average":0,"_glsr_ranking":0,"_glsr_reviews":0,"footnotes":""},"categories":[11],"tags":[],"niveles":[],"class_list":["post-1289","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sin-categorizar"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"acf":[],"_links":{"self":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/1289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/comments?post=1289"}],"version-history":[{"count":25,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/1289\/revisions"}],"predecessor-version":[{"id":4363,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/1289\/revisions\/4363"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/media\/1306"}],"wp:attachment":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/media?parent=1289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/categories?post=1289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/tags?post=1289"},{"taxonomy":"niveles","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/niveles?post=1289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}