【问题标题】:Prevent Gravity Forms from sending Webhook given condition防止 Gravity Forms 在给定条件下发送 Webhook
【发布时间】:2021-05-03 17:49:52
【问题描述】:

我正在尝试对 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;
}

【问题讨论】:

    标签: php wordpress filter webhooks gravity-forms-plugin


    【解决方案1】:

    后退一步,然后再次阅读文档后,我完全忽略了它不是一个提要,而是传递给表单的一系列提要,因此我必须遍历并检查每个提要。

    下面是我的最后一个函数,它将提交的表单名称字段传递给一个函数,并在名称无法识别时禁用 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;
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-29
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多