WP Multilang插件:如何在PHP中设置wp_insert_post的语言?
WP Multilang 支持通过 wp_insert_post 设置文章语言吗?
是的,WP Multilang 支持为通过 wp_insert_post 创建的文章指定语言,主要有两种常用实现方式:
方式一:在 $post_data 数组中直接指定语言标识
WP Multilang 允许在提交给 wp_insert_post 的数据数组中加入 wpm_lang 字段,直接定义文章的语言代码(比如 zh-CN 表示简体中文,en 表示英文,具体需匹配你在插件后台配置的语言代码)。
修改后的代码示例:
$post_data = array( 'post_title' => $st_title, 'post_name' => $st_name, 'post_content' => $st_text, 'post_status' => 'publish', 'post_author' => 1, 'comment_status' => 'closed', 'wpm_lang' => 'zh-CN' // 替换为你需要的语言代码 ); $post_id = wp_insert_post($post_data);
方式二:文章创建后通过元数据设置
如果在插入时没有指定语言,也可以在文章创建成功后,使用 update_post_meta 为其添加语言元数据:
$post_data = array( 'post_title' => $st_title, 'post_name' => $st_name, 'post_content' => $st_text, 'post_status' => 'publish', 'post_author' => 1, 'comment_status' => 'closed' ); $post_id = wp_insert_post($post_data); // 检查文章创建成功后设置语言 if ($post_id && !is_wp_error($post_id)) { update_post_meta($post_id, 'wpm_lang', 'en'); // 替换为目标语言代码 }
注意事项
- 语言代码必须与你在 WP Multilang 后台已启用的语言完全匹配,否则设置不会生效
- 如果你的站点默认语言是某种语言,未指定
wpm_lang的文章会自动继承默认语言
内容的提问来源于stack exchange,提问作者John Grey
相关产品推荐
相关产品推荐

