【问题标题】:Limiting ACF's "acf/validate_save_post" action from a front-end form从前端表单限制 ACF 的“acf/validate_save_post”操作
【发布时间】:2019-02-17 14:20:06
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: javascript php validation advanced-custom-fields


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 2014-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多