You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gravity Forms:仅当单选按钮值为Yes时显示审核页的问题排查

问题分析与修复方案

你的代码存在两个核心问题:

  • 逻辑顺序颠倒:你先直接将$review_page['is_enabled']设为true,之后才判断单选按钮的值。这会导致审核页默认处于开启状态,完全违背了「仅当单选选Yes时才显示」的需求。
  • 缺少默认返回值:当单选按钮值不是"Yes"时,函数没有返回任何内容,这会破坏Gravity Forms的过滤器工作机制,导致表单流程出现异常。

修正后的代码如下:

add_filter( 'gform_review_page_19', 'add_review_page_ccm', 10, 3 );
function add_review_page_ccm( $review_page, $form, $entry ) {
    // 先获取单选按钮的值
    $selected_radio = rgar( $entry, '8' );
    
    // 根据单选值决定是否启用审核页
    if ( $selected_radio == 'Yes' ) {
        $review_page['is_enabled'] = true;
        $review_page['content'] .= GFCommon::replace_variables( '{all_fields}', $form, $entry );
    } else {
        // 不满足条件时关闭审核页
        $review_page['is_enabled'] = false;
    }
    
    // 无论什么情况都返回处理后的$review_page
    return $review_page;
}

这段代码的逻辑是:先判断单选按钮的值,仅当值为"Yes"时才开启审核页并添加内容;否则直接关闭审核页。同时确保函数在任何分支都返回$review_page,保证过滤器正常工作。

内容的提问来源于stack exchange,提问作者Buzzard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 22:27:30