运行 WooCommerce 退款功能导致 500 错误
Running function on WooCommerce refund causes 500 error
我 运行 遇到以下函数的问题。
我想做的是在 WooCommerce 中为客户退款时更新自定义字段,但它会导致我的 javascript 控制台在应用退款时出现 500 服务器错误通知,而且所需的更改也没有不会生效,因为自定义字段没有更新。
也许我使用了错误的动作挂钩?
// Adjust custom field after refund
function adjust_tpv_after_refund( $order_id, $refund_id ) {
$user_id = $order_id->get_user_id();
$progress = get_the_author_meta( 'tier_progress_value', $user_id );
$order = wc_get_order( $order_id );
$refund_amount = $order->get_total_refunded();
$adjusted_field = $progress - $refund_amount;
update_user_meta( $user_id, 'tier_progress_value', $adjusted_field );
}
add_action( 'woocommerce_order_fully_refunded', 'adjust_tpv_after_refund', 10, 2 );
add_action( 'woocommerce_order_partially_refunded', 'adjust_tpv_after_refund', 10, 2 );
控制台错误:
无法加载资源:服务器响应状态为 500(内部服务器错误)/wp-admin/admin-ajax。php?_fs_blog_admin=true:1
点击退款后 ajax 微调器不停地旋转。
您正在 $order_id 上调用 get_user_id(),您需要重新排序前三行并将 $order_id->get_user_id()
替换为 $order->get_user_id()
$order = wc_get_order( $order_id );
$user_id = $order->get_user_id();
$progress = get_the_author_meta( 'tier_progress_value', $user_id );
我 运行 遇到以下函数的问题。
我想做的是在 WooCommerce 中为客户退款时更新自定义字段,但它会导致我的 javascript 控制台在应用退款时出现 500 服务器错误通知,而且所需的更改也没有不会生效,因为自定义字段没有更新。
也许我使用了错误的动作挂钩?
// Adjust custom field after refund
function adjust_tpv_after_refund( $order_id, $refund_id ) {
$user_id = $order_id->get_user_id();
$progress = get_the_author_meta( 'tier_progress_value', $user_id );
$order = wc_get_order( $order_id );
$refund_amount = $order->get_total_refunded();
$adjusted_field = $progress - $refund_amount;
update_user_meta( $user_id, 'tier_progress_value', $adjusted_field );
}
add_action( 'woocommerce_order_fully_refunded', 'adjust_tpv_after_refund', 10, 2 );
add_action( 'woocommerce_order_partially_refunded', 'adjust_tpv_after_refund', 10, 2 );
控制台错误:
无法加载资源:服务器响应状态为 500(内部服务器错误)/wp-admin/admin-ajax。php?_fs_blog_admin=true:1
点击退款后 ajax 微调器不停地旋转。
您正在 $order_id 上调用 get_user_id(),您需要重新排序前三行并将 $order_id->get_user_id()
替换为 $order->get_user_id()
$order = wc_get_order( $order_id );
$user_id = $order->get_user_id();
$progress = get_the_author_meta( 'tier_progress_value', $user_id );