WPML
Trạng thái
Đã được giải quyết bởi nhà phát triển
Đã giải quyết trong
MapPress 2.95.7
Plugin/giao diện liên quan
MapPress Maps for WordPress
Thẻ chủ đề
Compatibility

Tổng quan về lỗi

Khi sử dụng MapPress với WPML, bạn có thể gặp tình trạng các Điểm quan tâm (POI) như các thành phố được lưu vào bản đồ không được dịch. Điều này là do các chuỗi văn bản POI được lưu dựa trên ngôn ngữ được sử dụng khi tạo và không tự động có sẵn để dịch.

Giải pháp tạm thời

Vui lòng đảm bảo bạn có bản sao lưu toàn bộ trang web trước khi tiếp tục.


  • Thêm mã sau vào tệp functions.php của giao diện.
    // WPML Workaround for compsupp-4265: Translate Mappress POI fields
    if ( class_exists('Sitepress') ) { 
    
    	add_action('mappress_map_save', 'my_mappress_register_poi_strings');
    	function my_mappress_register_poi_strings($map) {
    
    		$fields = array('address','title','name','body');
    		if (empty($map->mapid) || empty($map->pois) || !is_array($map->pois))
    			return;
    
    		foreach ($map->pois as $i => $poi) {
    			foreach ($fields as $field) {
    				if (isset($poi->$field) && $poi->$field !== '') {
    					$key = "map_{$map->mapid}_poi_{$i}_{$field}";
    					do_action( 'wpml_register_single_string','mappress', $key, $poi->$field );
    				}
    			}
    		}
    	}
    
    	add_action('mappress_map_display', 'my_mappress_translate_poi_fields');
    	function my_mappress_translate_poi_fields($map) {
    
    		$fields = array('address','title','name','body');
    		if (empty($map->mapid) || empty($map->pois) || !is_array($map->pois))
    			return;
    
    		foreach ($map->pois as $i => $poi) {
    			foreach ($fields as $field) {
    				if (isset($poi->$field) && $poi->$field !== '') {
    					$key = "map_{$map->mapid}_poi_{$i}_{$field}";
    					$translated = apply_filters('wpml_translate_single_string', $poi->$field, 'mappress', $key);
    					$poi->$field = $translated;
    				}
    			}
    		}
    	}
    	
    }
            


  • Lưu lại các Bản đồ của bạn trong “MapPress > Maps”.

  • Truy cập “WPML > Dịch chuỗi” và dịch các chuỗi thuộc miền ‘mappress’

Tất cả các lỗi đã ghi nhận →