I’m automating WordPress post creation using Polylang and n8n.
I first create the EN post, then the PT one, and finally send a POST request to a custom endpoint (/wp-json/.../link-translations
) with:
{
"translations": { "en": 1234, "pt": 5678 }
}
In the PHP callback, I run:
pll_set_post_language(1234, 'en');
pll_set_post_language(5678, 'pt');
pll_save_post_translations(['en' => 1234, 'pt' => 5678]);
The API response returns “success: true”, but in the editor the posts are still not linked as translations.
The slugs (en
, pt
) are correct, the user has permission, and I’ve already tested adding a delay.
Has anyone run into this or knows what could be preventing pll_save_post_translations
from working even without throwing any error?