qtranslate の投稿を言語ごとに分ける

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

多言語プラグインのqtranslate、後継のqtranslate-xt は言語タブ切り替えで投稿を作成するようになっていて、プラグインを無効にすると、投稿は
*日本語と英語の場合、
[:ja]日本語の投稿[:en]英語の投稿[:] のようになっている。

これをAdvanced Custom Fields で用意した各言語用のフィールドに分けて保存したい。

$content = get_the_content($post_id);
$sep1 = "[:ja]";
$sep2 = "[:en]";
$start = strpos($content, $sep1) + strlen($sep1);
$end = strpos($content, $sep2) - $start;
$value = substr($content, $start, $end );

のようにして、acf/load_value で値をロードできるので、更新して保存できる。