php - 在 ACF 字段更新推送字段值到 WooCommerce 元值
问题描述
我在 woocommerce(住宿预订)产品上使用高级自定义字段 (ACF) 插件字段,当更新 ACF 字段时,我想将这些值推送到特定的 woocommerce 字段。
使用的预订插件是 Woocommerce 预订 - 预订和预订和 Woocommerce 住宿预订(主要 woocommerce 预订插件的住宿预订扩展)
(1。谁能给我看代码来做这样的事情?我做了很多谷歌搜索,但找不到任何有用的解决方案。
一旦我有了更新字段的代码,我如何为每个特定的 wc 字段找到特定的 woocommerce 挂钩?
另外,我如何告诉 wc 产品是住宿预订类型?)
编辑:ACF 有一个代码来更新基于另一个字段的字段 https://www.advancedcustomfields.com/resources/update_field/ 所以,我的问题是如何调整代码,以便当附加到 ACF 字段时产品帖子类型已更新,可以自动使用该字段的值作为 woocommerce 产品数据值。
例如,我有一个 ACF 字段“每晚价格”,我在该字段中输入了一个数字。当我单击更新该产品时,我希望该数字自动进入标准价格的 woocommerce 产品数据。
解决方案
您没有很好地搜索看到这个简单的搜索“更新字段时的 ACF 操作挂钩”。
第一个链接是好的,要使用的钩子是这样的:
add_action('acf/save_post', 'my_acf_save_post', 1);
function my_acf_save_post( $post_id ) {
// bail early if no ACF data
if( empty($_POST['acf']) ) {
return;
}
// An array of fields values
$fields = $_POST['acf'];
// Get a specific field value and push to a specific Woocommerce meta data
if ( isset($fields['field_abc123']) ) {
$field_abc123 = $fields['field_abc123'];
// Push to a specific woocommerce meta data:
update_post_meta( $post_id, 'targeted_meta_key', sanitize_text_field( $field_abc123 ) );
}
}
代码位于您的活动子主题(或活动主题)的 function.php 文件中。它应该工作。
推荐阅读
- javascript - 如何从模块返回管道数据?
- python - 试图平衡括号但不明白我的代码有什么问题
- python - 您的 shell 未正确配置为在 dockerfile 上使用“conda activate”
- affinetransform - 仿射变换矩阵。不懂数学?
- flutter - LIstView 中的 Flutter Dismissible 事件
- unity3d - 为什么统一在动画结束时增加一帧
- apache-spark - AWS Glue - 从目录而不是数据源标头中派生架构
- android - 更改字符串的值不更新android数据绑定中的视图
- python - 如何使用 Python 将包含 \n 的行的 Excel 工作表拆分为单独的行?
- firebase - TypeError:未定义不是对象(评估“this.state.user”)