有没有办法将外部数据库与wordpress elementor连接起来,并将不同页面的表单数据存储到不同的表中?

问题描述 投票:0回答:2

我尝试了此操作,但只能连接到主页表单的第一个表,并且无法在不同页面的表单中执行相同的操作:\

    add_action( 'elementor_pro/forms/new_record' , function( $record, $ajax_handler ) { 
        $form_name = $record->get_form_settings( 'form_name' );
        if ( 'FORM_ONE' == $form_name )
        {
        $raw_fields = $record->get( 'fields' );
        $fields = [];
        foreach ( $raw_fields as $id => $field ) {
        $fields[ $id ] = $field['value'];
        }
        $wpdb_c = new wpdb( "DB-name", "DB_Pass", "database-name", "localhost"  );
        $output['success'] = $wpdb_c->insert('Tablename', array( 
            'name' => $fields['name'],
            'email' => $fields['email'],
            'message' => $fields['message']));
    
        $ajax_handler->add_response_data( true, $output );
        }
        elseif ( 'FORM_TWO' == $form_name ) {
        $raw_fields = $record->get( 'fields' );
        $fields = [];
        foreach ( $raw_fields as $id => $field ) {
        $fields[ $id ] = $field['value'];
        }
    
        $wpdb_d = new wpdb( "DB-name", "DB_Pass", "database-name", "localhost"  );
        $output['success'] = $wpdb_d->insert('Tablename', array(
            'first_name' => $fields['first_name'], 
            'last_name'  => $fields['last_name'],
            'email1' => $fields['email1'],
            'email2' => $fields['email2'],
            'dob' =>  $fields['dob'],
            'phone_no' => $fields['phone_no'],
            'country' => $fields['country'],
            'gender' =>  $fields['gender'],
            'preference' => $fields['preference'],
            'details' => $fields['details'],
            'where_did_hear' => $fields['where_did_hear'],
            'file' => $fields['file']));
            $ajax_handler->add_response_data( true, $output);
        }
    
        }, 10, 2);

我使用后端数据库为MYSQL

database wordpress elementor
2个回答
1
投票

您考虑过使用REST API吗?通过 Supabase 等 REST API 连接外部数据库可能是您正在寻找的解决方案。


0
投票

我能够使用 API 来解决问题,这是该阶段唯一的解决方案。

除此之外,还可以选择使用 WordPress 库进行自定义编码

© www.soinside.com 2019 - 2024. All rights reserved.