WPML
الحالة
محلولة بواسطة المطور

نظرة عامة على المشكلة

عندما تحاول ترجمة المحتوى المبني باستخدام Muffin Builder الخاص بـ BeTheme، لا يُعرض المحتوى المترجم في الواجهة الأمامية، أو يظهر المحتوى مشفراً كما هو معروض في لقطة الشاشة أدناه:

المحتوى المنشأ باستخدام Muffin Builder مشفر

حل بديل مؤقت

يرجى التأكد من إنشاء نسخة احتياطية كاملة لموقعك قبل المتابعة.

  1. حدّث إلى الإصدار الأخير من Betheme
  2. اذهب إلى Betheme > Theme Options > Global > متقدم > Muffin Builder data storage وحدد الخيار Serialized | Readable format, required by some plugins
  3. افتح الملف wp-content/themes/betheme/functions/theme-functions.php وابحث عن المقتطف أدناه:
    /*
     * 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. استبدله بالمقتطف أدناه:
    /*
     * 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. إذا كنت قد بدأت بالفعل في ترجمة صفحاتك، فعدّل الصفحة الأصلية واحفظها.
  6. حدّث الترجمة وسيكون المحتوى متاحاً الآن.

الخطوات التالية

لقد تواصلنا مع مطوّري BeTheme وMuffin Builder، وسيقومون بتنفيذ إصلاح في أقرب وقت ممكن. لا داعي للقيام بأي شيء الآن!

جميع المشاكل المعروفة →