在表单提交并保存为帖子类型之前,我正在使用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()
时,它似乎仍然可以运行多次,所以也许还有另一种解决方案。
答案 0 :(得分:1)
万一将来有人发现,解决此问题的方法是通过wp_doing_ajax()
检查这是否是AJAX请求。通过管理员或acf/save_post
操作钩子发布帖子时,这将停止验证。