Wordpress 如何使用 qTranslateX 插件以编程方式更新某种语言的 post 名称
Wordpress How can I programmatically update post name for a certain language using qTranslateX Plugin
我正在为我的多语言 Wordpress 网站使用 qTranslateX 插件。我设置了 2 种语言:英语和法语。
我想知道如何仅针对特定语言以编程方式更新 post 名称?我到处搜索,但没有找到解决方案。
解决方法是使用 preg_replace 函数,它看起来像这样(假设 post 名称是:My [en]English[fr]French[:] post姓名)
$start = '\[en\]';
$end = '\[';
$original_name = 'My [en]English[fr]French[:] post name';
$replace_with = 'Awsome english new';
$new_post_name = preg_replace('#('.$start.')(.*)('.$end.')#si', ''.$replace_with.'', $original_name ,1);
echo $new_post_name ;
这会输出以下不正确的字符串,因为删除了法语文本,因此 preg_replace 不限制第一次出现:
My [en]Awsome english new[:] post name
预期输出为:
My [en]Awsome english new[fr]French[:] post name
我有点卡在这里...
让被替换的部分非贪心:
$new_post_name = preg_replace('#('.$start.')(.*?)('.$end.')#si', ''.$replace_with.'', $original_name ,1);
// here __^
我正在为我的多语言 Wordpress 网站使用 qTranslateX 插件。我设置了 2 种语言:英语和法语。 我想知道如何仅针对特定语言以编程方式更新 post 名称?我到处搜索,但没有找到解决方案。
解决方法是使用 preg_replace 函数,它看起来像这样(假设 post 名称是:My [en]English[fr]French[:] post姓名)
$start = '\[en\]';
$end = '\[';
$original_name = 'My [en]English[fr]French[:] post name';
$replace_with = 'Awsome english new';
$new_post_name = preg_replace('#('.$start.')(.*)('.$end.')#si', ''.$replace_with.'', $original_name ,1);
echo $new_post_name ;
这会输出以下不正确的字符串,因为删除了法语文本,因此 preg_replace 不限制第一次出现:
My [en]Awsome english new[:] post name
预期输出为:
My [en]Awsome english new[fr]French[:] post name
我有点卡在这里...
让被替换的部分非贪心:
$new_post_name = preg_replace('#('.$start.')(.*?)('.$end.')#si', ''.$replace_with.'', $original_name ,1);
// here __^