我有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);
}
请告诉我如何以编程方式在第二个数据库上存储订单副本。
答案 0 :(得分:0)
您可以使用woocommerce api在远程服务器上创建订单: https://woocommerce.github.io/woocommerce-rest-api-docs/?php#create-an-order
或者您可以在sql中的远程数据库中创建相同的记录。您应该手动处理身份字段。
通常很难使两个数据库同步。
首选定期(每小时)复制或简单备份-还原数据库。