Php 将订单总数和客户电子邮件存储在MySQL数据库中的自定义表中
我试图从woocommerce的functions.php文件中完成的签出中提取数据。结帐后,我尝试存储自定义生成的代码、生成订单的电子邮件以及订单的总金额。我无法从订单中提取任何数据,并且未能找到任何与此相关的文档 签出成功完成后,必须提取数据 该表包含凭证代码(每笔交易生成的唯一代码)、用户电子邮件和订单总价列。我找不到一种方法来抓取用户的电子邮件和订单总数后结帐。查询必须插入在函数中生成的凭证ID、应从订单详细信息中获取的电子邮件、设置为0的兑换以及也应从订单详细信息中获取的值 在Woocommerce签出页面上,我有一个内部服务器错误和PHP致命错误:Php 将订单总数和客户电子邮件存储在MySQL数据库中的自定义表中,php,mysql,wordpress,woocommerce,orders,Php,Mysql,Wordpress,Woocommerce,Orders,我试图从woocommerce的functions.php文件中完成的签出中提取数据。结帐后,我尝试存储自定义生成的代码、生成订单的电子邮件以及订单的总金额。我无法从订单中提取任何数据,并且未能找到任何与此相关的文档 签出成功完成后,必须提取数据 该表包含凭证代码(每笔交易生成的唯一代码)、用户电子邮件和订单总价列。我找不到一种方法来抓取用户的电子邮件和订单总数后结帐。查询必须插入在函数中生成的凭证ID、应从订单详细信息中获取的电子邮件、设置为0的兑换以及也应从订单详细信息中获取的值 在Wooc
调用布尔值上的成员函数
get_data()
。
我做错了什么?如何解决此错误?我如何在MySQL数据库中的自定义表中存储订单总数和客户电子邮件?您的问题不是很清楚,也不够详细。我们不知道您是否试图将此数据添加到Wordpress数据库或其他数据库中的自定义表中 如果您试图在wordpress数据库的自定义表中插入数据,则应使用(正如我在回答中所使用的),否则应使用最后一个代码段
$order\u id
未定义,代码会抛出错误。变量$string
也未定义,如果它是索引列,则不需要显示(如下面的第一个代码段)
看起来您的目标是“已完成”的订单。使用woocommerce\u email\u before\u order\u table
hook将使您的代码在每个电子邮件通知中被多次触发。此外,这个钩子确实不便于触发任何数据库更改
订单状态为“完成”时将触发以下代码。因此有两种情况:
1) 在Wordpress数据库中为自定义表执行操作:
add_action( 'woocommerce_order_status_completed', 'generate_code_on_order_complete', 20, 2 );
function generate_code_on_order_complete( $order_id, $order ){
global $wpdb;
$billing_email = $order->get_billing_email(); // Billing email
$total_tax = $order->get_total_tax(); // Billing email
$wpdb->query("
INSERT INTO test_vouchers (email, redeemed, value)
VALUES ('$billing_email','0','$total_tax');
");
}
代码进入活动子主题(或活动主题)的function.php文件。测试和工作
2) 将数据插入Wordpress one之外的另一个数据库(未测试): 您应该完成以下代码以使dabase连接到外部数据库并插入数据…请记住,
$string
未定义
add_action( 'woocommerce_order_status_completed', 'generate_code_on_order_complete', 20, 2 );
function generate_code_on_order_complete( $order_id, $order ){
$billing_email = $order->get_billing_email(); // Billing email
$total_tax = $order->get_total_tax(); // Billing email
## To be completed by you (below) ##
$connection = DBLogin();
$query = "INSERT INTO test_vouchers (voucher_id, email, redeemed, value) VALUES ('$string','$billing_email','0','$total_tax')";
}
代码进入活动子主题(或活动主题)的function.php文件。您的实际问题是什么?在woocommerce签出页面上,我不断收到一个内部服务器错误和php致命错误:通过编辑您的帖子,而不是通过评论,调用BooleanClearify上的成员函数get_data()。请阅读并采取行动。
add_action( 'woocommerce_order_status_completed', 'generate_code_on_order_complete', 20, 2 );
function generate_code_on_order_complete( $order_id, $order ){
$billing_email = $order->get_billing_email(); // Billing email
$total_tax = $order->get_total_tax(); // Billing email
## To be completed by you (below) ##
$connection = DBLogin();
$query = "INSERT INTO test_vouchers (voucher_id, email, redeemed, value) VALUES ('$string','$billing_email','0','$total_tax')";
}