woocommerce - 检查 Woocommerce Hook 是否来自 API
问题描述
我有这样的问题:
我在 WooCommerce 中有一个自定义字段,它是文章是否转移/更新到另一个系统的标志。
字段/标志可以通过在 Woocommerce 中手动编辑文章来设置,也可以由另一个系统通过 REST API 设置。
如果我手动编辑该字段,我将使用此代码将其设置为“否”:
add_action( 'woocommerce_update_product', 'lg_set_transferd_flag', 10, 1 );
function lg_set_transferd_flag( $product_id ) {
update_post_meta( $product_id, 'product_transferd_to_visma', 'no' );
}
要从另一个系统中的操作设置它,我使用以下代码:
add_action( 'woocommerce_api_edit_product', 'lg_set_transferd_flag_from_api', 10, 1);
function lg_set_transferd_flag_from_api( $product_id ) {
update_post_meta( $product_id, 'product_transferd_to_visma', 'yes' );
}
问题是“woocommerce_api_edit_product”钩子触发了“woocommerce_update_product”,所以我最终得到了“不”的标志。
有没有办法在钩子“woocommerce_update_product”上运行以知道该操作来自“woocommerce_api_edit_product”?
解决方案
推荐阅读
- java - ALEngagementZones API 在 QiSDK (Pepper with NAOqi 2.9.5) 中是否仍然可用?
- arrays - 如何使用堆栈解决 N-Queens 问题?
- android - 包含日期和时间列的离子日期选择器
- python - 部署应用程序时dash_auth不起作用
- python - 将数据框的事件 N 行放入熊猫中按日期聚合的列?
- c# - 是否可能:Web App 中的 Selenium 在运行时传递脚本
- excel - Excel Addin 未执行调用函数
- javascript - 为什么这个简单的 PHP 文件没有 CORS 工作?
- python - 使用 Pillow 改变色调
- python - 仅当出现 k 次时才按列屏蔽值范围