Gravity forms – Can I have multiple custom spinners?

I wish to change the default ajax loader for gravity forms. I have done this using the following code (link found here):

add_filter( 'gform_ajax_spinner_url', 'cwwp_custom_gforms_spinner' );

   /**
   * Changes the default Gravity Forms AJAX spinner.
   *
   * @since 1.0.0
   *
   * @param string $src The default spinner URL
   * @return string $src The new spinner URL
   */

    function cwwp_custom_gforms_spinner( $src ) {

    return get_stylesheet_directory_uri() . '/assets/img/css/newsletter-loader.gif';

}

This seems to work fine. What I would like todo is set another custom ajax spinner for a different form on a different page. The design of the page is different and I would like to set a different spinner. Any ideas how I do this?

Related posts

Leave a Reply

1 comment

  1. Without testing, this should work (still use the add_filter bit):

    function cwwp_custom_gforms_spinner( $src ) {
       global $post;
       if( $post->ID == $id ): // use whatever page identifier/conditional you like here: ID, template used, slug etc.
       // other identifiers would probably be better and won't rely on global $post
       // for example is_front_page(), is_archive(), etc
          return get_stylesheet_directory_uri() . 'path/to/spinner/1.gif';
       else:
          return get_stylesheet_directory_uri() . 'path/to/spinner/2.gif';
       endif;
    }