Gravity Forms - Пользовательский индикатор выполнения?

Может ли кто-нибудь объяснить мне, какой код необходим для изменения индикатора выполнения 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;
 }

Любые идеи?


person Dinah    schedule 01.11.2018    source источник


Ответы (2)


Может быть, попробуйте что-то вроде этого:

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;
}

Надеюсь, что это работает!

person Nick    schedule 08.10.2019

Теперь в Gravity Forms это встроено в настройки. Вы можете просто перейти от индикатора выполнения к шагам в настройках, а затем применить дополнительный CSS к стилю по мере необходимости. Для этого не нужно использовать пользовательскую графику.

Стили форм гравитации

person Pedz    schedule 18.02.2021