WordPress — вручную связать два поста перевода с Polylang

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

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

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

У вас есть идея, как я могу вручную установить связь между переводами одного и того же поста?

Спасибо заранее! 🙂

2

Решение

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

Вам просто нужно создать 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');

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

1

Другие решения

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

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

  • Ключ: ISO код языка на 2 буквы (т.е. «en»)
  • Значение: почтовый идентификатор или идентификатор термина
0

По вопросам рекламы [email protected]