php - 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 ) ) :
?>
- 有人可以帮我吗?
- 付款成功时触发 PHP 代码的最佳方法是什么?
提前致谢!
解决方案
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');
推荐阅读
- java - 是否可以将 lambda 方法的返回值分配给 java 中的变量?
- r - 尝试从本地闪亮的应用程序下载报告时出现错误
- php - 未定义索引:laravel 中的 expiry_date
- java - 杰克逊:反序列化任何 json
- ios - 使用 Xcode 构建 iOS 应用程序有效,但使用 xcodebuild 命令构建相同的应用程序失败
- http - 即使 url 中没有查询参数,输入字段也会预先填充 const 值
- facebook-graph-api - 如何从实时 Facebook 线索获取活动 ID?
- javascript - Angular http.post 不通过订阅发送数据
- javascript - 使用 jquery 将 Html 转换为搜索文本
- java - 通过 JLink 创建的 JRE 缺少一些安全证书 (cacerts)