2

有人可以向我解释修改 Gravity Forms 进度条需要什么代码吗?我想更改默认进度条以对每个步骤使用自定义图形。

开始:
开始

步骤1:
步骤1

第2步:
第2步

我尝试遵循此重力表单页面,但这些说明在我的网站上不起作用。

代码:

 add_filter( 'gform_progress_bar', 'my_custom_function', 10, 3 );
 function my_custom_function( $progress_bar, $form, $confirmation_message ) 
 {

      $progress_bar =
           '<ul>
                <li>Page 1</li>
                <li>Page 2</li>
                <li>Page 3</li>
            </ul>';

      return $progress_bar;
 }

有任何想法吗?

4

2 回答 2

0

也许尝试这样的事情:

add_filter( 'gform_progress_bar', 'custom_progress_bar', 10, 3 );
function custom_progress_bar( $progress_bar, $form, $confirmation_message ) {

    $current_page = GFFormDisplay::get_current_page( $form['id'] );

    if($current_page == 1) {
        $progress_bar = '<img src="path/to/image">';
    } else if($current_page == 2){
        $progress_bar = '<img src="path/to/image">';
    } else if($current_page == 3){
        $progress_bar = '<img src="path/to/image">';
    } else if($current_page == 4){
        $progress_bar = '<img src="path/to/image">';
    } else if($current_page == 5){
        $progress_bar = '<img src="path/to/image">';
    }

    return $progress_bar;
}

下面提供的示例代码是我过去只在第一页上隐藏进度条,但在其余页面上显示的代码。我相信您应该能够为每个页面返回您的步骤图像:

add_filter( 'gform_progress_bar', 'hide_progress_bar_wrap', 10, 3 );
function hide_progress_bar_wrap( $progress_bar, $form, $confirmation_message ) {

    $current_page = GFFormDisplay::get_current_page( $form['id'] );

    if($current_page == 1) {
        $progress_bar = '<span class="wrap_progress_bar" style="visibility:hidden;display:none">'.$progress_bar.'</span>';
    }

    return $progress_bar;
}

希望它有效!

于 2019-10-08T23:20:27.537 回答
0

重力形式现在已将其内置为它们的设置。您可以简单地从进度条调整到设置中的步骤,然后根据需要将其他 CSS 应用于样式。无需为此使用自定义图形。

重力形式样式

于 2021-02-18T03:56:47.653 回答