@Delirii

Как автоматически синхронизировать записи произвольного типа с Polylang?

Добрый день! Мне нужно автоматически синхронизировать произвольные типы записей, размещенные пользователями, с помощью плагина 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);
  • Вопрос задан
  • 18 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы