2016-10-28 13 views
2

Я создал несколько пользовательских сообщений в моей настраиваемой теме в Wordpress, в которой активирован polylang plugin.Как поддерживать указанные поля между связанными пользовательскими сообщениями с помощью polylang

Перевод работает хорошо, но проблема в том, что мне нужно, чтобы указанное содержание оставалось неизменным между переведенными сообщениями. С обычными сообщениями вы можете деактивировать перевод для типа носителя, но это не относится к типу пользовательского контента.

Например, если у меня на двух языках, как английский и испанский, и создать новый пользовательский английский пост:

[ENG POST] 
TITLE 
content1 * 
content2 
media1 * 
media2 

Я хочу, что на испанском пост часть содержимого быть уже заполняется с некоторыми из содержания, что я уже написал \ загруженного в английском посте (те, с «*»), как:

[SP POST] 
-empty- 
content1 
-empty- 
media1 
-empty- 

для пользовательских сообщений я использую CMB2 plugin.

Есть ли элегантный способ сделать это?

ответ

0

Из того, что я знаю WPML довольно хорошо для нескольких сайтов языка, если вы хотите, вы можете попробовать ... WordPress имеет всегда проблемы с плагинами ....

0

никогда ничего подобного не делал, но, насколько мне известно, полиланг создает еще одну запись и при загрузке новой языковой формы полностью перезагружает поля CMB2, вызывая все связанные события.

Получение правильного события и поиск исходного идентификатора сообщения должны позволять устанавливать предыдущие значения по умолчанию для соответствующих полей, но это просто теория, так как я никогда не пытался. Дайте мне знать, если это сработает.

0

Если вы используете настраиваемые поля CMB2 для создания тех частей пользовательского контента типа сообщения, вот более или менее элегантный и простой способ достижения цели.

Создайте файл wpml-config.xml (это довольно понятно)

<wpml-config> 
    <custom-fields> 
     <custom-field action="copy">cf_content_to_populate</custom-field> 
     <custom-field action="copy">cf_media_to_populate</custom-field> 
     <custom-field action="translate">cf_content_to_translate</custom-field> 
     <custom-field action="translate">cf_media_to_translate</custom-field> 
    </custom-fields> 
</wpml-config> 

и сохранить его в корневую директорию темы, которые вы используете.

cf_content_to_populate и cf_media_to_populate будут доступны всем языкам без перевода, но cf_content_to_translate и cf_media_to_translate потребует перевода.

Использование wpml-config.xml вы можете управлять копирование и/или перевод

  • указаны пользовательские поля;
  • указанные индивидуальные типы сообщений;
  • указанные таксономии;
  • указанные администратора тексты как пользовательский плагин или пользовательские опции темы и т.д ..

Но вы не можете сделать это на основе за пост вне коробки.

Официальная документация Polylang на The wpml-config.xml file.

 Смежные вопросы

  • Нет связанных вопросов^_^