将WooCommerce订单发布到远程数据库

时间:2019-09-20 11:33:24

标签: php wordpress woocommerce

我有2台服务器,在第一台服务器上有WooCommerce商店,在第二台服务器上有备用MySQL数据库。我想将每个新的WooCommerce订单都保存到第二数据库以及第一数据库(默认情况下存储在第一服务器数据库中)。

为此,我尝试使用woocommerce_new_order钩子并在函数内部配置了第二服务器数据库连接。但是,我不知道如何以编程方式在第二个服务器数据库上创建WooCommerce订单。

到目前为止,我的代码是:

add_action( 'woocommerce_new_order', 'my_order_details',  1, 1  );
        function my_order_details($order_id){
        $host = 'localhost';
        $user = 'root';
        $pass = '';
        $db = 'database';
        $new_wpdb = mysqli_connect($host, $user, $pass, $db);
        if (!$new_wpdb) {
            echo mysqli_error($new_wpdb);
        }
        $order = new WC_Order($order_id);
        $order_num = $order_id;
        $order_amount = get_post_meta($order_id, '_order_total', true);
        }

请告诉我如何以编程方式在第二个数据库上存储订单副本。

1 个答案:

答案 0 :(得分:0)

您可以使用woocommerce api在远程服务器上创建订单: https://woocommerce.github.io/woocommerce-rest-api-docs/?php#create-an-order

或者您可以在sql中的远程数据库中创建相同的记录。您应该手动处理身份字段。

通常很难使两个数据库同步。

首选定期(每小时)复制或简单备份-还原数据库。