使用 Ansible 为 WordPress 设置默认语言

要通过 Ansible 为 WordPress 设置默认语言,你可以采用以下几种方法。

方法 1:通过 wp-cli 命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- name: 设置WordPress默认语言
become: yes
become_user: www-data # 使用运行WordPress的用户
command: >
wp language core install {{ wordpress_language }}
--path={{ wordpress_path }}
when: wordpress_language is defined

- name: 激活WordPress语言
become: yes
become_user: www-data
command: >
wp site switch-language {{ wordpress_language }}
--path={{ wordpress_path }}
when: wordpress_language is defined

方法 2:直接修改 wp-config.php 文件

1
2
3
4
5
6
7
- name: 确保语言常量存在于wp-config.php
lineinfile:
path: "{{ wordpress_path }}/wp-config.php"
regexp: "^define\\( 'WPLANG',"
line: "define( 'WPLANG', '{{ wordpress_language }}' );"
insertafter: "^\\/\\* That's all, stop editing! Happy publishing\\. \\*\\/$"
before: "^\\?>"

方法 3:使用 Ansible 的 mysql 模块修改数据库

1
2
3
4
5
6
7
- name: 更新WordPress选项表中的语言设置
mysql_query:
login_host: "{{ db_host }}"
login_user: "{{ db_user }}"
login_password: "{{ db_password }}"
db: "{{ db_name }}"
query: "UPDATE wp_options SET option_value = '{{ wordpress_language }}' WHERE option_name = 'WPLANG';"

完整示例 Playbook

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
---
- hosts: wordpress_servers
vars:
wordpress_path: /var/www/html
wordpress_language: zh_CN # 例如设置为简体中文
db_host: localhost
db_user: wordpressuser
db_password: securepassword
db_name: wordpressdb

tasks:
- name: 安装所需语言包
become: yes
become_user: www-data
command: >
wp language core install {{ wordpress_language }}
--path={{ wordpress_path }}

- name: 设置WordPress语言
become: yes
become_user: www-data
command: >
wp site switch-language {{ wordpress_language }}
--path={{ wordpress_path }}

- name: 确保wp-config.php中有语言设置
lineinfile:
path: "{{ wordpress_path }}/wp-config.php"
regexp: "^define\\( 'WPLANG',"
line: "define( 'WPLANG', '{{ wordpress_language }}' );"
insertafter: "^\\/\\* That's all, stop editing! Happy publishing\\. \\*\\/$"
before: "^\\?>"

注意事项

确保目标服务器已安装 wp-cli 工具

根据你的 WordPress 安装位置调整 wordpress_path 变量

语言代码需要是有效的 WordPress 语言代码(如 en_US、zh_CN 等)

如果使用数据库方法,确保 Ansible 主机可以访问 MySQL 服务器并有足够权限

执行前建议先备份数据库和 wp-config.php 文件

你可以根据实际环境选择最适合的方法或组合使用这些方法。

使用 Ansible 为 WordPress 设置默认语言

https://pengtech.net/wordpress/ansible-site-wordpress-locale.html

作者

鹏叔

发布于

2025-06-16

更新于

2025-06-16

许可协议

评论