Gravity Form提交后更新ACF用户单选按钮功能失效求助
问题修复方案
核心错误点
- 钩子函数拼写错误:你写的
gform_after_submisson_7存在拼写问题,正确的Gravity Form提交后钩子名称为gform_after_submission,拼写错误导致函数完全没有被触发。 update_user_meta参数格式错误:该函数第一个参数要求传入纯数字的用户ID,你拼接的user_前缀是ACF的update_field函数的用法,用在update_user_meta中会无法识别有效用户ID,导致更新失败。- 可选排查项:确认你需要触发该逻辑的表单ID为7(钩子末尾的
_7对应表单ID),且提交表单的用户处于登录状态,否则$entry['created_by']会为空值,也会导致更新无效果。
修正后代码
// 表单ID为7提交后更新用户artist_tour_status字段 function update_user_tour_status($entry, $form){ $user_id = $entry['created_by']; // 仅登录用户提交时执行更新 if (empty($user_id)) { return; } // 用法1:用WordPress原生update_user_meta更新ACF字段 update_user_meta($user_id, 'artist_tour_status', 'studio'); // 用法2:用ACF原生update_field更新,更稳妥,两种选一个即可 // update_field('artist_tour_status', 'studio', 'user_' . $user_id); } add_action('gform_after_submission_7', 'update_user_tour_status', 10, 2);
内容的提问来源于stack exchange,提问作者sylargaf
相关产品推荐
相关产品推荐

