Delirium_Tremens
Новичок
Добрый день! Мне нужно автоматически синхронизировать произвольные типы записей, размещенные пользователями, с помощью плагина Polylang. Вот тут я нашел решение для простых записей. Как сделать так же для произвольных? Можно ли поправить код ниже или нужно как-то хитрее действовать?
На всякий случай продублирую найденный код, чтобы вам по ссылке не ходить:
На всякий случай продублирую найденный код, чтобы вам по ссылке не ходить:
Код:
function auto_translate($post_id, $post, $update)
{
if (!$update) {
return;
}
// prevent creation of additional duplicate draft posts
if ( $post->post_status == 'draft' ){
return;
}
// prevent recursion when publishing translations
remove_action('save_post', 'auto_translate', 999, 3);
global $polylang;
$langs = ['en', 'he', 'ru'];
$current_translations = pll_get_post_translations($post_id);
$post_type = get_post_type($post_id);
if ($post_type == 'post') {
foreach ($langs as $lang) {
if (!isset($current_translations[$lang])) {
$polylang->sync_post_model->copy_post($post_id, $lang, true);
}
}
}
}
// needs low priority or the synchronisation option wont be saved
add_action('save_post', 'auto_translate', 999, 3);