WPML
סטטוס
נפתר על ידי המפתח
תוסף/ערכת עיצוב קשורים
WP Event Manager
תגיות נושא
Compatibility

סקירה כללית של התקלה

בעת תרגום אירועים שנוצרו באמצעות WP Event Manager ו־WPML, השדות Organizer ו־Venue לא תמיד מוצגים בשפת ברירת המחדל בצד הלקוח.

פתרון עוקף

אנא ודא שיש לך גיבוי מלא של האתר לפני שתמשיך.

יהיה עליך לבצע את השינויים הבאים.


  1. עבור אל WPMLהגדרותתרגום שדות מותאמים אישית

  2. הגדר את השדות המותאמים אישית _event_organizer_ids ו־_event_venue_ids להעתקה.

  3. לאחר מכן, פתח את הקובץ /wp-content/plugins/wp-event-manager/wp-event-manager-template.php.

  4. חפש את שורה 1229.

  5. שנה את:
    foreach ($post->_event_organizer_ids as $key => $organizer_id) {

    ל:

    foreach ($post->_event_organizer_ids as $key => $organizer_id) {
    
    	// WPML Workaround for compsupp-6662
    	if (class_exists('SitePress')) {
    		$organizer_id = apply_filters( 'wpml_object_id', $organizer_id, 'event_organizer', TRUE  );
    	}


  6. כעת, פתח את הקובץ /wp-content/plugins/wp-event-manager/wp-event-manager-functions.php.

  7. חפש את שורה 1903.

  8. שנה את:
    function get_event_organizer_ids( $post = null ) {
    	$post = get_post( $post );
    
    	if ( $post->post_type !== 'event_listing' )
    		return;
    
    	return !empty($post->_event_organizer_ids) ? $post->_event_organizer_ids : '';
    }

    ל:

    function get_event_organizer_ids( $post = null ) {
    	$post = get_post( $post );
    
    	if ( $post->post_type !== 'event_listing' ) {
    		return;
    	}
    
    	// WPML Workaround for compsupp-6662
    	if ( class_exists('SitePress') && !empty($post->_event_organizer_ids) ) {
    		foreach ($post->_event_organizer_ids as $key => $organizer_id ) {
    			$result = $post->_event_organizer_ids;
    			$result[$key] = apply_filters( 'wpml_object_id', $organizer_id, 'event_organizer', TRUE  );
    		}
    
    		return $result;
    	}	
    
    	return !empty($post->_event_organizer_ids) ? $post->_event_organizer_ids : '';
    }

  9. לבסוף, באותו קובץ, חפש את שורה 1985.

  10. שנה את:
    function get_event_venue_ids( $post = null ) {
    	$post = get_post( $post );
    
    	if ( $post->post_type !== 'event_listing' )
    		return;
    
    	return !empty($post->_event_venue_ids) ? $post->_event_venue_ids : '';
    }

    ל:

    function get_event_venue_ids( $post = null ) {
    	$post = get_post( $post );
    
    	if ( $post->post_type !== 'event_listing' )
    		return;
    
    	// WPML Workaround for compsupp-6662
    	if ( class_exists('SitePress') && !empty($post->_event_venue_ids) ) {
    		$result = apply_filters( 'wpml_object_id', $post->_event_venue_ids , 'event_listing', TRUE  );
    		return $result;
    	}	
    
    	return !empty($post->_event_venue_ids) ? $post->_event_venue_ids : '';
    }

כל התקלות הידועות →