Wordpress — полиланг в переводе после запуска команды

Сегодня мне нужна помощь с Wordpress, так как это далеко не моя чашка чая.

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

Мне удалось найти, как Polylang связывает два поста, говоря, что этот на английском, а этот на французском. Итак, на данный момент у меня есть команда для экспорта сообщения в файл xliff и команда для импорта перевода из файла xliff.

Все работает нормально, пока пост, который я пытаюсь перевести, уже имеет существующий перевод (по сути, я просто обновляю метаданные).

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

Что я хотел сделать, так это создать отсутствующий пост и перезаписать метаданные.

Но я не знаю, как создать отсутствующий пост как копию моего поста и сказать, что этот на английском языке. Кто-нибудь знает, как я могу это сделать из моей команды?

Спасибо


person LinChan    schedule 19.12.2018    source источник


Ответы (1)


На самом деле я нашел то, что хотел. В Polylang есть командная строка для дублирования поста на другом языке. И мне просто нужно было использовать \WP_CLI::runcommand

$options = array(
                    'return'     => true,
                    'parse'      => 'json',
                    'launch'     => false,
                    'exit_error' => true,
                );
$command = 'pll post duplicate ' . $idPost . ' ' . $destLocale;
\WP_CLI::runcommand($command, $options);
person LinChan    schedule 19.12.2018