WPML
الحالة
مفتوحة
الإضافة/القالب ذو الصلة
RSVP Pro
وسوم الموضوع
Compatibility

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

إذا كنت تستخدم إضافة RSVP Pro، فقد تواجه مشكلات تتمثل في عدم ظهور بعض السلاسل النصية مترجمة في الواجهة الأمامية عند استخدام WPML. تنشأ هذه المشكلة عادةً بسبب تجاوز المفتاح الفريد للسلسلة النصية لحد الأحرف الذي حدده النظام، مما يؤدي إلى عدم تطابق المفاتيح وبقاء السلاسل النصية غير مترجمة.

حل بديل مؤقت

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


  • افتح الملف app/public/wp-content/plugins/rsvp-pro-plugin/includes/rsvp-utils.inc.php

  • ابحث عن السطر 1069.

  • استبدل:
    function rsvp_pro_get_dynamic_translated_string( $key_name, $string, $event_id ) {
    	$text = $string;
    
    	if ( function_exists( 'pll__' ) ) {
    		$text = pll__( $string );
    	}
    
    	if ( has_filter( 'wpml_translate_string' ) ) {
    		$event_name = rsvp_pro_get_event_name( $event_id );
    		$package    = array(
    			'kind'  => "RSVPPro - {$event_id}",
    			'name'  => "rsvp-pro-plugin-{$event_id}",
    			'title' => "RSVP Pro Plugin - {$event_name}",
    		);
    		$key_name   = strtolower( $key_name );
    		$key_name   = str_replace( ' ', '-', $key_name );
    		$text       = apply_filters( 'wpml_translate_string', $string, $key_name, $package );
    	}
    
    	return $text;
    }

  • بـ:
    function rsvp_pro_get_dynamic_translated_string( $key_name, $string, $event_id ) {
    	$text = $string;
    
    	if ( function_exists( 'pll__' ) ) {
    		$text = pll__( $string );
    	}
    
    	if ( has_filter( 'wpml_translate_string' ) ) {
    		$event_name = rsvp_pro_get_event_name( $event_id );
    		$package    = array(
    			'kind'  => "RSVPPro - {$event_id}",
    			'name'  => "rsvp-pro-plugin-{$event_id}",
    			'title' => "RSVP Pro Plugin - {$event_name}",
    		);
    		$key_name   = strtolower( $key_name );
    		$key_name   = str_replace( ' ', '-', $key_name );
    
    		// WPML Workaround for compsupp-7503
    		$key_name = substr($key_name, 0, 160);
    		
    		$text       = apply_filters( 'wpml_translate_string', $string, $key_name, $package );
    	}
    
    	return $text;
    }

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