Je suis dans le pétrin. J'ai un site de voyage ... J'ai créé une page où les utilisateurs peuvent écrire un formulaire pour insérer leurs maisons.
Les maisons sont bien sûr un type de poste personnalisé.
Ceci est une partie de mon code:
...
some validation here
if ($idarticolo = wp_insert_post($post)) {
//lingua
global $polylang;
$lang = pll_current_language();
$polylang->set_post_language($idarticolo, $lang);
...
tout fonctionne bien, la maison est insérée dans ma langue actuelle; mais lorsque j'essaie de traduire ce message à partir du panneau d'administration, j'obtiens une erreur.
L'article n'est pas traduit et aucune langue n'est détectée.
S'il vous plaît aider !!! ... Merci beaucoup à l'avance!
M. :)
Apparemment, Polylang a une méthode d’API non documentée pll_save_post. Voir ici: https://wordpress.org/support/topic/programmatically-set-post-language-and-translations
Ok Riaan,
merci pour votre réponse.
J'ai résolu de cette façon (peut-être peut-être utile):
if ($idarticolo = wp_insert_post($post, true)) {
// inserisco l'articolo nelle altre lingue: En Es Fr
$idarticoloEn = wp_insert_post($post, true);
$idarticoloEs = wp_insert_post($post, true);
$idarticoloFr = wp_insert_post($post, true);
$polylang->model->set_post_language($idarticolo, 'it');
$polylang->model->set_post_language($idarticoloEn, 'en');
$polylang->model->set_post_language($idarticoloEs, 'es');
$polylang->model->set_post_language($idarticoloFr, 'fr');
$polylang->model->save_translations('post', $idarticolo, array('en' => $idarticoloEn));
$polylang->model->save_translations('post', $idarticolo, array('es' => $idarticoloEs));
$polylang->model->save_translations('post', $idarticolo, array('fr' => $idarticoloFr));
J'insère le message en italien, puis je crée les traductions correspondantes dans les autres langues.
Merci encore pour votre aide!
M :)