我继承了一个使用WooCommerce和Smart Coupons出售礼品卡的页面,一些插件几年未更新,WooCommerce,Smart Coupons和DIBS Easy for WooCommerce(外部付款插件),是这是因为他们一直担心事情会停止运行,我意识到这是正确的恐惧,当我更新插件时,Smart Coupons停止生成代码,我发送一封确认订单的电子邮件,但没有代码生成回到较旧的版本,就可以再次正常工作。
为使事情正常进行,在functions.php中使用了两个函数,这是因为付款插件未完成智能优惠券所需的订单。
function action_checkout_order_processed( $order_id, $posted_data, $order ) {
if( $posted_data['payment_method'] == 'dibs_easy' ){
do_action( 'woocommerce_new_order' ,$order_id);
}
}
add_action('woocommerce_checkout_order_processed', 'action_checkout_order_processed', 10, 3);
function custom_woocommerce_auto_complete_order( $order_id ) {
if ( ! $order_id ) {
return;
}
$order = new WC_Order( $order_id );
$order->update_status( 'completed' );
}
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
我尝试将订单和posted_data写入调试文件以查看是否存在差异,但我没有发现任何值得相信的差异。我也没有收到任何错误消息。我从这两个函数写入调试文件,因此我确定它们会被调用。
我尝试删除functions.php文件中的功能,但是没有用。我尝试了几种不同的钩子,但没有运气。我也尝试过在wp-admin中为插件设置不同的设置,但似乎没有任何改变。
该网站已经落成了几年,据我所知,这些插件从未更新过,你们有什么好主意,我可以做些什么使Smart Coupons使用更新版本的插件创建代码?