Wordpress - вручную связать перевод двух сообщений с помощью polylang

В настоящее время я разрабатываю плагин для мультипостинга на многосайтовом wordpress.

Я хотел, чтобы плагин работал с Polylang, он хорошо работает, когда дело доходит до установки правильного языка, но я не могу найти способ подключиться к другим его переводам (когда я отправляю сообщения из блога другим, в противном случае на том же сайт, работает).

Я искал в их документации и через их плагин, но не нашел ничего, что действительно могло бы мне помочь.

Ты хоть представляешь, как я могу вручную установить связь между переводами одного и того же поста?

Заранее спасибо! :)


person kristengwd    schedule 07.10.2016    source источник


Ответы (2)


Это цель pll_save_post_translations (для отношений сообщений переводов) и pll_save_term_translations (для отношений терминов перевода), определенных в /wp-content/plugins/polylang/include/api.php.

Обе эти функции будут ждать ассоциативный массив с:

  • Обозначение: код языка ISO, состоящий из двух букв (например, en).
  • Значение: идентификатор сообщения или идентификатор термина
person nbonniot    schedule 28.02.2017

Я нашел решение этого.

Вам просто нужно создать такой wp_insert_term с другим описанием:

wp_insert_term($group = uniqid('pll_'), 'post_translations', array('description' => serialize(['fr' => 453, 'en' => 455])));

А затем вы устанавливаете этот термин для своих сообщений или настраиваемых сообщений:

wp_set_object_terms( $postId, yourTerm, 'post_translations');

И вот вы, ваш пост правильно связан в бэкэнде!

person kristengwd    schedule 07.10.2016