首页 > 解决方案 > Easy Digital Downloads - 交易成功时触发 PHP 出错

问题描述

我正在为我的 Wordpress 网上商店使用 Easy Digital Downloads。在有人购买了一件商品后,它需要将积分添加到 MySQL 数据库中。我通过将 PHP 代码添加到 shortcode-receipt.php 来完成这项工作。

这工作正常,但是当我通过浏览器或邮件重新加载收据时,PHP 代码将再次触发: php <?php if( edd_is_payment_complete( $payment->ID ) && edd_receipt_show_download_files( $item['id'], $edd_receipt_args, $item ) ) : ?>

提前致谢!

标签: phpeasy-digital-downloads

解决方案


edd_complete_purchase订单完成时会触发动作。

所以,在你的情况下,我会从短代码中删除代码并创建一个插件。插件里面应该是这样的

function my_edd_receipt( $payment_id ){
if( edd_is_payment_complete( $payment_id ) && edd_receipt_show_download_files( $item['id'], $edd_receipt_args, $item ) ) :
}

add_action( 'edd_complete_purchase', 'my_edd_receipt');

推荐阅读