Wordpressを多言語対応させる
投稿日:
■環境
Wordpress 4.9.5
MultilingualPress 2.11.1
■手順
まずMultilingualPress
というプラグインをインストールします。
インストール後、プラグインを有効化しようとするとマルチサイトを有効にしないといけない旨のメッセージが表示されます。
上記のリンク先にマルチサイト化をするための手順が記載されています。
https://multilingualpress.org/docs/install-wordpress-multisite/
まず、Wordpressがインストールされているディレクトリにあるwp-config.php
を編集し、マルチサイトを有効化します。
define('WP_DEBUG', false);
define('WP_ALLOW_MULTISITE', TRUE); <=これを追記
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
次にプラグインを全て停止させ、管理画面より「ツール > サイトネットワークの設置」を開き、『インストール』をクリックします。
すると、再度wp-config.php
を修正するよう案内が表示されるので、案内通りに修正します。
define('WP_DEBUG', false);
define('WP_ALLOW_MULTISITE', TRUE);
define('MULTISITE', true); <=これを追記
define('SUBDOMAIN_INSTALL', true); <=これを追記
define('DOMAIN_CURRENT_SITE', 'your-domain.com'); <=これを追記
define('PATH_CURRENT_SITE', '/'); <=これを追記
define('SITE_ID_CURRENT_SITE', 1); <=これを追記
define('BLOG_ID_CURRENT_SITE', 1); <=これを追記
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
また、.htaccess
に次の記載をするよう指示がありますので、それも従います。
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
nginxを使っている場合は.htaccess
が効かないので、nginx.confに以下の記載を追加します。
rewrite ^/wp-admin$ /wp-admin/ redirect;
if (!-e $request_filename){
rewrite ^/(wp-(content|admin|includes).*) /$1 break;
rewrite ^/(.*\.php)$ /$1 break;
rewrite ^(.*)$ /index.php break;
}
nginxの設定ファイルを記載する際、こちらのコンバーターの出力結果を参考にしました。
https://winginx.com/ja/htaccess