php - 在 WooCommerce 中获取通过信用卡支付的订单
问题描述
在 Woocommerce 中,我试图通过信用卡获取所有已付款订单,为此我尝试使用以下代码:
// Get Report for orders made by credit card
foreach( $orders as $order ){
if ( $order->get_payment_method() = 'nmwoo_2co' ) {
$order_data = $order->get_data(); // The Order data
$orders_by_credit .= 'Order Number: #' . $order->id . '<br>' .'Order Status: '. $order->status . '<br>' . 'Order Creation Date: ' . $order_date_created = $order_data['date_created']->date('Y-m-d H:i:s') . '<br>' . 'Order Total: '. $order->total . '<br>' . 'Customer Username: ' . $order_billing_first_name = $order_data['billing']['first_name'] . '<br>' . 'Customer E-Mail: '. $order_billing_email = $order_data['billing']['email'] . '<br>' . 'Customer Phone: ' . $order_billing_phone = $order_data['billing']['phone'] . '<br>' . $order->get_payment_method();
}
}
但是条件$orders->get_payment_method() = 'nmwoo_2co'
不行。它无效所以如何检查订单中使用的付款方式是否为 nmwoo_2co ?
解决方案
首先,您的 IF 语句中有一个错误,应该是(with ===
instead of =
):
if ( $order->get_payment_method() === 'nmwoo_2co' ) {
现在在您的代码中还有一些其他错误:
$orders_by_credit .= 'Order Number: #' . $order->id . '<br>' .'Order Status: '. $order->status . '<br>' . 'Order Creation Date: ' . $order_date_created = $order_data['date_created']->date('Y-m-d H:i:s') . '<br>' . 'Order Total: '. $order->total . '<br>' . 'Customer Username: ' . $order_billing_first_name = $order_data['billing']['first_name'] . '<br>' . 'Customer E-Mail: '. $order_billing_email = $order_data['billing']['email'] . '<br>' . 'Customer Phone: ' . $order_billing_phone = $order_data['billing']['phone'] . '<br>' . $order->get_payment_method();
那应该是:
$orders_by_credit .= 'Order Number: #' . $order->get_order_number() . '<br>' .'Order Status: '. $order->get_status() . '<br>' . 'Order Creation Date: ' . $order->get_date_created()->date('Y-m-d H:i:s') . '<br>' . 'Order Total: '. $order->get_total() . '<br>' . 'Customer Username: ' . $order->get_billing_first_name() . '<br>' . 'Customer E-Mail: '. $order->get_billing_email() . '<br>' . 'Customer Phone: ' . $order->get_billing_phone() . '<br>' . $order->get_payment_method();
如何在 WooCommerce 中获取正确的付款 ID:
进入后台,设置 > 支付,当你点击支付方式时,你可以在 URL: 中看到
?page=wc-settings&tab=checkout§ion=paypal
,其中paypal
每个支付方式都会更改为相应的支付方式 ID slug。或者在结帐页面中,您可以使用浏览器工具检查
value
属性上的付款单选按钮,例如:value="paypal">
如果您设置了正确的付款 ID,您的条件将起作用。
推荐阅读
- oracle - 如何在给定数字的 Oracle SQL SELECT 语句中获取 N 行?
- rust - 如何正确互斥锁从C调用的蹦床使用的结构
- r - 当一个变量是离散的而另一个是连续的时如何在箱线图上交换轴
- php - Quickbooks PHP api 在 60 分钟后丢失访问令牌
- python - 如何从 Python 中的列表中提取特定的键值?
- reactjs - 如何在类组件中使用 React.useContext(AuthContext) 来触发 index.js 文件中的条件集
- pandas - 在不转换为不兼容类型的情况下求和空 DataFrame
- java - 带有 CriteriaQuery 的 JSONB 列上的“LIKE”表达式
- sql - ORA-00957: 创建视图时重复列名错误
- javascript - 如何在本地存储中保存直通效果?