- Статус
- Открыто
- Связанный плагин/тема
- 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; }