首页 > 解决方案 > 从前端表单限制 ACF 的“acf/validate_save_post”操作

问题描述

在表单提交并保存到帖子类型之前,我正在使用 ACF 的acf/validate_save_post操作挂钩使用 3rd 方 API 验证来自前端表单的序列号。

如果对第 3 方 API 的调用返回错误,我将使用此操作挂钩来显示使用该acf_add_validation_error()函数的验证错误。

由于在acf/validation_save_post发布帖子时(以及之前,在进行 JS 验证时)调用了动作挂钩,因此序列号最终被验证了 3 次。由于 API 端设置的限制,这最终会锁定用户。

有没有办法在发布帖子时锁定操作挂钩,并且仅在进行 JS 验证时才运行?

我曾尝试wp_doing_ajax()if声明中使用,但我认为所有工作都是通过 AJAX 完成的,除非我错了。无论如何,它似乎仍然运行不止一次,wp_doing_ajax()所以也许还有另一种解决方案。

标签: javascriptphpvalidationadvanced-custom-fields

解决方案


万一将来有人发现此问题,该问题的解决方案是检查这是否是 AJAX 请求,通过wp_doing_ajax(). acf/save_post这将在通过管理员或操作挂钩发布帖子时停止验证。


推荐阅读