WPML
Status
Offen
Gemeldet für
Gravity Forms Multilingual 1.7.2
Zugehöriges Plugin/Theme
Gravity Forms
Themen-Tags
Compatibility

Übersicht über das Problem

Wenn Sie das Plugin Gravity Forms Polls Add-On verwenden, kann es zu Problemen kommen, bei denen die Umfrageergebnisse keine übersetzten Inhalte anzeigen, wenn sie in einer anderen Sprache als der Standardsprache aufgerufen werden. Dieses Problem tritt hauptsächlich auf, wenn der Shortcode-Parameter auf mode="results" gesetzt ist. Die Übersetzungen funktionieren korrekt, wenn der Modus auf mode=”poll” gesetzt ist.

Problemumgehung

Bitte erstellen Sie ein vollständiges Backup Ihrer Website, bevor Sie fortfahren.


  • Öffnen Sie die Datei …/wp-content/plugins/gravityformspolls/class-gf-polls.php.

  • Suchen Sie nach Zeile 2140.

  • Direkt vor:
    			$gpoll_output['summary'] .= $field['field_label'] . '</div></div>';

  • Fügen Sie diesen Code hinzu:
    			// WPML Workaround for compsupp-7316 - Part I
    			if ( class_exists('Sitepress') ) {
    				$wpml_question = $field['field_label'];
    				$textdomain = 'WordPress';
    				$string_name = 'WPML Workaround : '.substr($wpml_question, 0, 20);
    
    				$wpml_default_lang = apply_filters('wpml_default_language', NULL );
    				$wpml_current_lang = apply_filters( 'wpml_current_language', NULL );
    
    				if ($wpml_default_lang == $wpml_current_lang ) {
    					do_action( 'wpml_register_single_string', $textdomain, $string_name, $wpml_question );
    				}	
    				// Apply the translation to the string
    				$wpml_question = apply_filters('wpml_translate_single_string', $wpml_question , $textdomain, $string_name);
    
    				$field['field_label']   = $wpml_question;  // Replace the title
    			}	

  • Suchen Sie dann nach Zeile 2184.

  • Ersetzen Sie:
    				$gpoll_output['summary'] .= sprintf( "<div class='gpoll_choice_wrapper'><div class='gfield_description gpoll_choice_label%s'>%s</div>", $selected_class, rgar( $input, 'label' ) );

  • Durch:
    				// WPML Workaround for compsupp-7316 - Part II
    				if ( class_exists('Sitepress') ) {
    					$string = rgar( $input, 'label' );
    					$textdomain = 'WordPress';
    					$string_name = 'WPML Workaround : '.substr($string, 0, 20);
    
    					$wpml_default_lang = apply_filters('wpml_default_language', NULL );
    					$wpml_current_lang = apply_filters( 'wpml_current_language', NULL );
    
    					if ($wpml_default_lang == $wpml_current_lang ) {
    						do_action( 'wpml_register_single_string', $textdomain, $string_name, $string );
    					}	
    					// Apply the translation to the string
    					$string = apply_filters('wpml_translate_single_string', $string , $textdomain, $string_name);
    
    					$wpml_poll_label   = $string;  // Replace the title
    				}
    				$gpoll_output['summary'] .= sprintf( "<div class='gpoll_choice_wrapper'><div class='gfield_description gpoll_choice_label%s'>%s</div>", $selected_class, $wpml_poll_label );

Alle bekannten Probleme →