php - 防止 Gravity Forms 在给定条件下发送 Webhook
问题描述
我正在尝试将过滤器应用于 Gravity Form 的 Webhook 插件,但我无法理解它。我在下面创建了一个函数,从我读到的内容应该可以防止 Webhook 提要在提交时发送表单,但它只是不起作用。
我确定我遗漏了一些东西,但我可以使用第二双眼睛和一些专业知识。下面是一个单元测试,用于禁用表单 8 上的任何 web hook,然后我将扩展以在特定条件下激活。
// Gravity Forms Webhook Filter
add_filter( 'form_gravityformswebhooks_pre_process_feeds_8', 'disable_webhook_by_field');
function disable_webhook_by_field( $feed, $entry, $form )
{
$feed['is_active'] = false;
return $feed;
}
解决方案
在退后一步,然后再次阅读文档后,我完全忽略了它不是一个提要,而是传递给表单的一系列提要,因此我必须遍历并检查每个提要。
下面是我的最后一个函数,它将提交的表单名称字段传递给一个函数,并在名称无法识别时禁用 Webhook。
希望这对某人有用。
// Gravity Forms Webhook Name Filter
add_filter( 'form_gravityformswebhooks_pre_process_feeds_8', 'disable_webhook_by_name');
function disable_webhook_by_name( $feeds, $entry, $form )
{
$firstname = rgar( $entry, '1.3' );
$lastname = rgar( $entry, '1.6' );
// Checks user name against database and disables Webhook is not found
foreach ( $feeds as & $feed )
{
if ( ! checkName( $firstname, $lastname ) )
{
$feed = rgar( $feed, 'is_active', false );
}
}
return $feeds;
}
推荐阅读
- flutter - Flutter:带有嵌套导航的底部导航栏和更改选项卡时恢复根页面
- encoding - 从帕斯卡中的字符串中删除字符会导致控制台帕斯卡中的问号
- python - Python DataFrame - 根据同一数据框列中的值选择数据框行
- php - 我试图通过 filezilla (FTP) 更新 wordpress 版本
- javascript - 将函数传递给子组件是个好主意吗?
- windows - 程序安装程序如何检测到我的电子邮件 ID?
- r - 使用另一个数据框的条件创建一个新列
- flutter - 颤动问题底部溢出 61 像素//这是我的代码,请有人帮忙
- java - 如何从 jar 文件中加载图像?
- javascript - Vue.js:快速键入时不应用使用计算属性的输入格式