WPML
Status
Vom Autor gelöst

Übersicht über das Problem

Wenn Sie versuchen, mit dem Muffin Builder von BeTheme erstellte Inhalte zu übersetzen, werden die übersetzten Inhalte nicht im Frontend angezeigt, oder der Inhalt wird kodiert dargestellt, wie auf dem Screenshot unten zu sehen ist:

Mit dem Muffin Builder erstellte Inhalte werden kodiert dargestellt

Problemumgehung

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

  1. Aktualisieren Sie auf die neueste Version von Betheme
  2. Gehen Sie zu Betheme > Theme-Optionen > Global > Erweitert > Muffin Builder data storage und wählen Sie die Option Serialized | Readable format, required by some plugins
  3. Öffnen Sie die Datei wp-content/themes/betheme/functions/theme-functions.php und suchen Sie nach dem folgenden Snippet:
    /*
     * WPML | Workaround for compsupp-5901
     */
    
    function mfn_wpml_encode_custom_field( $custom_field_val, $custom_field_name ) {
      if ( $custom_field_name === 'mfn-page-items' ) {
    	  $custom_field_val = maybe_unserialize( base64_decode($custom_field_val) );
    	}
    	return $custom_field_val;
    }
    add_filter( 'wpml_encode_custom_field', 'mfn_wpml_encode_custom_field', 10, 2 );
    
    function mfn_wpml_decode_custom_field( $custom_field_val, $custom_field_name ) {
    	if ( $custom_field_name === 'mfn-page-items' ) {
    		$custom_field_val = base64_encode( serialize($custom_field_val) );
    	}
    	return $custom_field_val;
    }
    add_filter( 'wpml_decode_custom_field', 'mfn_wpml_decode_custom_field', 10, 2 );
  4. Ersetzen Sie es durch das folgende Snippet:
    /*
     * WPML | Workaround for compsupp-5901
     */
    function mfn_wpml_encode_custom_field( $custom_field_val, $custom_field_name ) {
        if ( $custom_field_name === 'mfn-page-items' ) {
            $custom_field_val = base64_encode( serialize($custom_field_val) );
        }
        return $custom_field_val;	
    }
    add_filter( 'wpml_encode_custom_field', 'mfn_wpml_encode_custom_field', 10, 2 );
    
    function mfn_wpml_decode_custom_field( $custom_field_val, $custom_field_name ) {
    	if ( $custom_field_name === 'mfn-page-items' && is_string($custom_field_val) ) {
    		$custom_field_val = maybe_unserialize( base64_decode($custom_field_val) );
    	}
    	return $custom_field_val;
    }
    add_filter( 'wpml_decode_custom_field', 'mfn_wpml_decode_custom_field', 10, 2 );
  5. Wenn Sie bereits begonnen haben, Ihre Seiten zu übersetzen, bearbeiten Sie die Originalseite und speichern Sie.
  6. Aktualisieren Sie die Übersetzung, und der Inhalt sollte nun verfügbar sein.

Nächste Schritte

Wir haben uns an die Autoren von BeTheme und Muffin Builder gewandt, die schnellstmöglich einen Fix implementieren werden. Sie müssen im Moment nichts weiter tun!

Alle bekannten Probleme →