arraypress/edd-polyfills

Easy Digital Downloads (EDD) 插件开发必备的 polyfills 集合,填补核心功能空白,简化插件创建过程。

dev-main 2024-03-06 21:08 UTC

This package is auto-updated.

Last update: 2024-09-06 22:20:02 UTC


README

EDD Polyfills 库旨在通过提供核心 EDD 插件中缺失或不完整的各种功能的 polyfills 来弥合 Easy Digital Downloads (EDD) 3.x 的功能差距。该库设计旨在与 EDD 的现有架构无缝集成,引入了一组全局可用函数,这些函数遵循 EDD 的命名约定和变量声明,确保开发者拥有熟悉且直观的体验。

安装

确保您已在项目中安装了该软件包。如果没有,您通常可以使用 Composer 来包含它

composer require arraypress/edd-polyfills

使用方法

安装后,polyfills 函数将自动在全局命名空间中可用。这种设计选择虽然不寻常,但确保了 polyfills 可以以最小的设置使用,并可以直接替换或补充所需的 EDD 核心功能。

以下是使用 polyfills 函数的示例

if ( ! function_exists( 'edd_get_adjustment_field' ) ) {
    // Use the polyfill function provided by the library
    $value = edd_get_adjustment_field( $adjustment_id, 'field_name' );
}

此示例在调用之前检查 edd_get_adjustment_field 函数是否存在,这是一种在 EDD 的未来版本中引入原始函数的情况下安全使用 polyfills 的方法。

调整 Polyfills

edd_get_adjustment_field

从调整对象中检索特定字段。此函数在您需要从调整中访问特定数据而不需要获取整个对象时很有用。

参数:

  • $adjustment_id:调整的 ID。默认为 0
  • $field:要从调整对象中检索的特定字段。默认为空字符串。

返回值:如果存在,则返回指定字段的值,如果调整不存在或字段未设置,则返回 null。

edd_adjustment_exists

通过其 ID 检查数据库中是否存在调整。此函数在执行操作之前验证调整的存在非常有用。

参数:

  • $adjustment_id:要检查的调整的 ID。

返回值:如果调整存在,则返回 true,否则返回 false

edd_is_adjustment_type

确定给定的调整是否为指定的类型。此函数有助于按类型过滤调整,例如区分折扣、费用或由扩展或自定义代码引入的任何自定义调整类型。

参数:

  • $adjustment_id:要检查的调整的 ID。
  • $type:预期的调整类型。默认为空字符串。

返回值:如果调整是指定的类型,则返回 true,否则返回 false

客户地址 Polyfills

edd_get_customer_address_field

从客户地址对象中检索特定字段。使用此函数可以访问客户地址中的单个数据项,而无需获取完整的地址对象。

参数:

  • $customer_address_id:客户地址的 ID。默认为 0
  • $field:要从客户地址对象中检索的特定字段。默认为空字符串。

返回值:如果存在,则返回请求字段的值,如果客户地址不存在或字段未设置,则返回 null。

edd_customer_address_exists

确定指定的客户地址是否在数据库中存在。此函数在执行操作或更新之前验证客户地址的存在至关重要。

参数:

  • $customer_address_id:要检查的客户地址的 ID。

返回: 如果客户地址存在,则返回 true,否则返回 false

客户电子邮件地址填充

edd_get_customer_email_address_field

从客户电子邮件地址对象中检索特定字段。此函数对于直接访问客户电子邮件地址的详细信息至关重要,无需检索完整对象。

参数:

  • $customer_email_address_id: 客户电子邮件地址的 ID。默认为 0
  • $field: 要从客户电子邮件地址对象中检索的特定字段。默认为空字符串。

返回: 如果存在,则返回指定字段的值,如果客户电子邮件地址不存在或字段未设置,则返回 null。

edd_customer_email_address_exists

检查数据库中是否存在客户电子邮件地址。此函数对于在操作客户电子邮件地址之前验证其存在至关重要。

参数:

  • $customer_email_address_id: 要检查的客户电子邮件地址的 ID。

返回: 如果客户电子邮件地址存在,则返回 true,否则返回 false

客户填充

edd_customer_exists

通过客户 ID 检查数据库中是否存在客户。此函数对于在执行与客户相关的进一步操作或查询之前验证客户的存在至关重要。

参数:

  • $customer_id: 要检查的客户 ID。

返回: 如果数据库中存在客户,则返回 true,否则返回 false。此函数确保操作仅使用有效的客户 ID 进行,从而避免错误和不一致性。

edd_get_customer_emails

检索与指定客户关联的所有电子邮件地址。此函数对于访问客户的多个联系电子邮件非常有用,这对于沟通、营销和支持目的至关重要。

参数:

  • $customer_id: 要检索其电子邮件地址的客户 ID。

返回: 与客户关联的电子邮件地址数组。如果客户不存在或未关联任何电子邮件,则返回空数组。

edd_get_customer_id_by_user_id

获取与用户 ID 关联的客户 ID。此函数有助于将用户帐户与其数据库中的相应客户记录链接起来,从而实现个性化的交互和简化的客户服务操作。

参数:

  • $user_id: 用户 ID。如果未指定或为 0,则函数尝试使用当前登录用户的 ID。默认为 0。
  • $use_cache: 是否使用缓存进行查找。默认为 true。

返回: 客户 ID 或如果未找到客户 ID,则返回 false。此返回值对于需要客户 ID 才能进行进一步处理的功能至关重要,例如检索客户特定的订单历史记录或个性化购物体验。

下载填充

edd_get_download_file_field

在 Easy Digital Downloads 中检索下载文件的指定字段值。此函数对于访问下载文件的特定元数据至关重要,例如其名称或文件 URL。

参数:

  • $download_id: 可下载产品的唯一标识符。
  • $file_id: 要查询的下载中的特定文件 ID。
  • $field: 请求其值的字段(例如,'name','file')。

返回: 如果存在,则返回请求字段的值,否则返回 null。

edd_get_download_file

检索与下载产品关联的特定文件的元数据。此函数帮助获取给定文件的详细信息,有助于数据检索和显示操作。

参数:

  • $download_id: 可下载产品的唯一标识符。
  • $file_id: 要查询的下载中的特定文件 ID。如果为 null,则返回所有文件的元数据。

返回值:如果找到文件元数据,则返回文件元数据,如果文件密钥不存在,则返回空字符串,如果没有传递下载ID,则返回false。

edd_get_download_file_name

从Easy Digital Downloads中检索与下载关联的文件名。此函数对于获取用户界面上下载文件的显示名称非常有用。

参数:

  • $download_id:可下载产品的ID。
  • $file_id: 要查询的下载中的特定文件 ID。

返回值:如果可用,则返回文件名,如果下载ID无效,则返回false。

API请求日志填充

edd_get_api_request_log_field

从API请求日志对象中检索特定字段。此函数便于访问关于API请求日志条目的详细信息,例如请求URL、响应代码或存储在日志条目中的任何自定义字段数据。

参数:

  • $api_request_log_id:API请求日志条目的ID。默认为0
  • $field:从API请求日志对象中检索的特定字段。默认为空字符串。

返回值:如果存在,则返回指定字段的值,如果API请求日志条目不存在或字段未设置,则返回null。

edd_api_request_log_exists

通过其ID检查数据库中是否存在API请求日志条目。此函数对于在执行相关操作之前验证日志条目的存在至关重要。

参数:

  • $api_request_log_id:要检查的API请求日志条目的ID。

返回值:如果API请求日志条目在数据库中存在,则返回true,否则返回false

文件下载日志填充

edd_get_file_download_log_field

从文件下载日志对象中检索特定字段。此函数允许详细访问文件下载日志的各个部分,便于对文件下载进行分析和报告。

参数:

  • $file_download_log_id:文件下载日志条目的ID。默认为0
  • $field:从文件下载日志对象中检索的特定字段。默认为空字符串。

返回值:如果存在,则返回指定字段的值,如果文件下载日志条目不存在或字段未设置,则返回null。

edd_file_download_log_exists

通过其ID检查数据库中是否存在文件下载日志条目。此函数对于在进行进一步分析或与文件下载相关的操作之前验证日志条目的存在至关重要。

参数:

  • $file_download_log_id:要检查的文件下载日志条目的ID。

返回值:如果文件下载日志条目在数据库中存在,则返回true,否则返回false

日志填充

edd_get_log_field

从日志对象中检索特定字段。此函数提供直接访问特定日志条目细节的方法,便于在EDD中对各种日志类型进行自定义分析和报告。

参数:

  • $log_id:日志条目的ID。默认为0
  • $field:从日志对象中检索的特定字段。默认为空字符串。

返回值:如果存在,则返回指定字段的值,如果日志条目不存在或字段未设置,则返回null。

edd_log_exists

通过其ID检查数据库中是否存在日志条目。此函数对于在执行相关操作或查询之前验证日志条目的存在至关重要。

参数:

  • $log_id:要检查的日志条目的ID。

返回值:如果日志条目在数据库中存在,则返回true,否则返回false

备注填充

edd_get_note_field

从备注对象中检索特定字段。此函数旨在提供直接访问特定备注细节的方法,有助于在EDD中对自定义数据处理和展示进行操作。

参数:

  • $note_id:备注条目的ID。默认为0
  • $field:从笔记对象中检索的特定字段。默认为空字符串。

返回值:如果指定的字段存在,则返回该字段的值,如果笔记条目不存在或字段未设置,则返回null。

edd_note_exists

通过ID检查数据库中是否存在笔记条目。此函数对于在执行与笔记相关的操作或分析之前确认笔记的存在至关重要。

参数:

  • $note_id:要检查的笔记条目的ID。

返回值:如果笔记条目存在于数据库中,则返回true,否则返回false

订单地址填充

edd_get_order_address_field

从订单地址对象中检索特定字段。此函数便于直接访问订单地址的详细信息,使在EDD中处理发货或账单地址数据变得更加容易。

参数:

  • $order_address_id:订单地址条目的ID。默认为0
  • $field:从订单地址对象中检索的特定字段。默认为空字符串。

返回值:如果指定的字段存在,则返回该字段的值,如果订单地址条目不存在或字段未设置,则返回null。

edd_order_address_exists

通过ID检查数据库中是否存在订单地址条目。此函数对于在执行与订单地址相关的进一步操作或查询之前验证地址的存在至关重要。

参数:

  • $order_address_id:要检查的订单地址条目的ID。

返回值:如果订单地址条目存在于数据库中,则返回true,否则返回false

订单调整填充

edd_get_order_adjustment_field

从订单调整对象中检索特定字段。此函数允许详细访问订单调整的各个部分,有助于在EDD中进行自定义处理和展示。

参数:

  • $order_adjustment_id:订单调整条目的ID。默认为0
  • $field:从订单调整对象中检索的特定字段。默认为空字符串。

返回值:如果指定的字段存在,则返回该字段的值,如果订单调整条目不存在或字段未设置,则返回null。

edd_order_adjustment_exists

通过ID检查数据库中是否存在订单调整条目。此函数对于在执行与调整相关的进一步操作或分析之前验证调整的存在至关重要。

参数:

  • $order_adjustment_id:要检查的订单调整条目的ID。

返回值:如果订单调整条目存在于数据库中,则返回true,否则返回false

订单项填充

edd_get_order_item_field

从订单项对象中检索特定字段。此函数对于直接访问订单项的特定细节(如产品ID、数量或任何自定义字段)至关重要。

参数:

  • $order_item_id:订单项条目的ID。默认为0
  • $field:从订单项对象中检索的特定字段。默认为空字符串。

返回值:如果指定的字段存在,则返回该字段的值,如果订单项条目不存在或字段未设置,则返回null。

edd_order_item_exists

通过ID检查数据库中是否存在订单项条目。此函数确保在执行与特定订单项相关的进一步操作或分析之前可以验证这些订单项。

参数:

  • $order_item_id:要检查的订单项条目的ID。

返回值:如果订单项条目存在于数据库中,则返回true,否则返回false

edd_get_order_item_by_cart_index

通过购物车索引从EDD订单中检索订单项,便于根据其在购物车中的位置访问订单中的特定项目。

参数:

  • $order_id:EDD订单的唯一标识符。
  • $cart_index:要检索的订单项的购物车索引。

返回值:如果找到,则返回订单项对象,否则返回null。此函数在处理或报告需要订单结构和项目序列时特别有用。

订单事务填充

edd_get_order_transaction_field

从订单事务对象中检索特定字段。此函数允许直接访问特定交易详情,有助于财务分析、报告以及与外部会计或CRM系统的集成。

参数:

  • $order_transaction_id:订单事务条目的ID。默认值为0
  • $field:要从订单事务对象中检索的特定字段。默认为空字符串。

返回值:如果存在指定字段,则返回该字段的值,如果订单事务条目不存在或字段未设置,则返回null。

edd_order_transaction_exists

通过ID检查数据库中是否存在订单事务条目。此函数对于在执行与交易相关的财务操作、审计或对账过程之前验证交易的存在至关重要。

参数:

  • $order_transaction_id:要检查的订单事务条目的ID。

返回值:如果订单事务条目在数据库中存在,则返回true,否则返回false

订单填充

edd_get_order_field

从订单对象中检索特定字段。此函数便于直接访问单个订单详情,例如状态、总额、客户ID或任何自定义字段,有助于订单管理和报告。

参数:

  • $order_id:订单条目的ID。默认值为0
  • $field:要从订单对象中检索的特定字段。默认为空字符串。

返回值:如果存在指定字段,则返回该字段的值,如果订单条目不存在或字段未设置,则返回null。

edd_order_exists

通过ID检查数据库中是否存在订单条目。此函数在执行与订单相关的操作或分析之前验证订单的存在至关重要,确保数据完整性和操作准确性。

参数:

  • $order_id:要检查的订单条目的ID。

返回值:如果订单条目在数据库中存在,则返回true,否则返回false

edd_order_exists_by_key

检查是否存在具有给定支付密钥的订单。此函数对于基于其唯一的支付密钥验证特定订单是否已存在于系统中非常有用,有助于防止重复条目并确保准确的订单跟踪。

参数:

  • $payment_key:要检查的订单的支付密钥。默认为空字符串。
  • $use_cache: 是否使用缓存进行查找。默认为 true。

返回值:如果订单存在,则返回true,否则返回false。这有助于快速确定订单的存在,而无需执行完整的数据库搜索,尤其是在流量大的网站上,性能优化至关重要。

贡献

非常欢迎对此库的贡献。在GitHub上提出问题或提交拉取请求以修复错误或添加新功能。分享反馈和建议以改进。

许可证:GPLv2或更高版本

本程序是免费软件;您可以在自由软件基金会发布的GNU通用公共许可证的条款下重新分发和/或修改它;许可证的第2版或(根据您的选择)任何更高版本。

本程序的分发是希望它将是有用的,但没有提供任何保证;甚至没有对适销性或适用于特定目的的暗示保证。有关详细信息,请参阅GNU通用公共许可证。