Hey! I have seen that people were looking for a solution for posting in different languages with WordPress. I had the same exact problem and finally found a working solution for Polylang free. Here’s how to do it:
The problem
Polylang free doesn’t support setting the language via the WordPress REST API natively, so neither the lang parameter nor the language taxonomy work from Make.com. WordPress silently ignores them.
The solution: a small PHP snippet + one extra meta field
Step 1 — Add this snippet to WordPress
Install the free plugin “Code Snippets”, go to Snippets → Add New, paste this code and activate it:
add_action('init', function() {
register_post_meta('post', 'make_lang', [
'show_in_rest' => true,
'single' => true,
'type' => 'string',
]);
});
add_action('rest_after_insert_post', function($post, $request, $creating) {
if ($creating) {
$lang = get_post_meta($post->ID, 'make_lang', true);
if ($lang && function_exists('pll_set_post_language')) {
pll_set_post_language($post->ID, $lang);
delete_post_meta($post->ID, 'make_lang');
}
}
}, 10, 3);
What this does: it registers a custom meta field called make_lang so the REST API accepts it, then after each new post is created via API, it reads that field and calls Polylang’s native function to assign the language — then cleans up the temporary meta.
Step 2 — In Make.com, add one meta item to each WordPress module
In your WordPress → Create a Post module, enable Advanced Settings, scroll to the Metadata (custom fields) section and add a new item:
- Name:
make_lang - Value: your language code (e.g.
frfor French,defor German,itfor Italian — must match the language code you set in Polylang’s settings) - Disable JSON Parsing: Yes
Do this for each route/module that creates posts in a different language.
How to find your language code
In WordPress go to Languages → Polylang settings. The “Code” column shows the exact value to use (e.g. en, fr, de, es, it, etc.).
Tested and working with Polylang free. Hope this helps!