从前端表单限制ACF的“acf / validate_save_post”操作

问题描述 投票:1回答:1

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

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

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

有没有办法在发布帖子时将动作钩子从运行中锁定,并且只在它进行JS验证时运行它?

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

javascript php validation advanced-custom-fields
1个回答
1
投票

如果将来有人发现这个问题,问题的解决方案是通过wp_doing_ajax()检查这是否是一个AJAX请求。这将通过admin或acf/save_post动作挂钩发布帖子时停止验证。

© www.soinside.com 2019 - 2024. All rights reserved.