ホーム 経験・テクニック共有 標準記事

標準記事

WordPressでブラウザの言語に基づいてURLを自動的にリダイレクトする方法

WordPressで外国貿易サイトを構築している多くの企業は、英語や中国語など複数の言語のサイトを作成しています。また、一部の外国貿易サイトの管理者は、自社サイトが国内ユーザーにアクセスされるのを望まず、国内ユーザーを別のURLにリダイレクトしたいと考えています。ブラウザの言語を使用してユーザー環境を判断し、自動的に異なるURLにリダイレクトする方法は以下の通りです: あなたのサイト…

2020年10月13日公開 約 8 分で読めます
WordPress根据浏览器语言自动跳转网址的方法

多くのWordPressを使用して外国貿易向け独立サイトを構築しているの企業は、英語や中国語など複数の言語のサイトを作成します。また、一部の外国貿易サイトの管理者は、自社サイトが国内ユーザーにアクセスされるのを望まず、国内ユーザーを別のURLにリダイレクトしたいと考えています。ブラウザの言語を使用してユーザー環境を判断し、自動的に異なるURLにリダイレクトする方法は以下の通りです:

サイトのテーマヘッダーファイル(header.php)に以下のコードを挿入します。

<?php
// 定义变量 lc
$lc = ""; 
// 检查是否已经设置过 HTTP头Accept-Language信息变量
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
$lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
// 这里截取语言编码前两位来判断,如果是中文,转向百度
if($lc == "zh"){
header("location: https://www.baidu.com"); 
exit();
}
?>

多くの方が初心者で、コードを編集する方法がわからないことを考慮し、Code Snippetsプラグインをインストールすることをお勧めします。インストール後、プラグインを有効化し、「Example JavaScript snippet」というスニペットを編集し、上記のコードを「/* write your JavaScript code here */」の下に挿入します。

その後、保存してコードを有効化します。

上記のコードでは、ブラジル語、フランス語、ポルトガル語など、さらに多くの言語を追加し、それぞれ異なるURLにリダイレクトできます。多言語リダイレクトコードは以下の通りです:

<?php
$lc = ""; 
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
$lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if($lc == "pt"){
header("location: https://blog.naibabiji.com/"); 
}
else if($lc == "fr"){
header("location: https://blog.naibabiji.com/skill/language-redirection.html"); 
exit();
}
?>

上記の方法は料神記事、以下は一般的なブラウザ言語コードです。

afアフリカーンス語sqアルバニア語
ar-saアラビア語(サウジアラビア)ar-iqアラビア語(イラク)
ar-egアラビア語(エジプト)ar-lyアラビア語(リビア)
ar-dzアラビア語(アルジェリア)ar-maアラビア語(モロッコ)
ar-tnアラビア語(チュニジア)ar-omアラビア語(オマーン)
ar-yeアラビア語(イエメン)ar-syアラビア語(シリア)
ar-joアラビア語(ヨルダン)ar-lbアラビア語(レバノン)
ar-kwアラビア語(クウェート)ar-aeアラビア語(アラブ首長国連邦)
ar-bhアラビア語(バーレーン)ar-qaアラビア語(カタール)
euバスク語bgブルガリア語
beベラルーシ語caカタルーニャ語
zh-tw中国語(台湾)zh-cn中国語(中華人民共和国)
zh-hk中国語(香港特別行政区)zh-sg中国語(シンガポール)
hrクロアチア語csチェコ語
daデンマーク語nlオランダ語(標準)
nl-beオランダ語(ベルギー)en英語
en-us英語(アメリカ)en-gb英語(イギリス)
en-au英語(オーストラリア)en-ca英語(カナダ)
en-nz英語(ニュージーランド)en-ie英語(アイルランド)
en-za英語(南アフリカ)en-jm英語(ジャマイカ)
en英語(カリブ海)en-bz英語(ベリーズ)
en-tt英語(トリニダード・トバゴ)etエストニア語
foフェロー語faペルシア語
fiフィンランド語frフランス語(標準)
fr-beフランス語(ベルギー)fr-caフランス語(カナダ)
fr-chフランス語(スイス)fr-luフランス語(ルクセンブルク)
gdゲール語(スコットランド)gaアイルランド語
deドイツ語(標準)de-chドイツ語(スイス)
de-atドイツ語(オーストリア)de-luドイツ語(ルクセンブルク)
de-liドイツ語(リヒテンシュタイン)elギリシャ語
heヘブライ語hiヒンディー語
huハンガリー語isアイスランド語
idインドネシア語itイタリア語(標準)
it-chイタリア語(スイス)ja日本語
ko韓国語ko韓国語(韓文)
lvラトビア語ltリトアニア語
mkマケドニア語(旧ユーゴスラビア・マケドニア)msマレー語
mtマルタ語noノルウェー語(ブークモール)
noノルウェー語(ニーノシュク)plポーランド語
pt-brポルトガル語(ブラジル)ptポルトガル語(ポルトガル)
rmロマンシュ語roルーマニア語
ro-moルーマニア語(モルドバ共和国)ruロシア語
ru-moロシア語(モルドバ共和国)szサーミ語(ラップ語)
srセルビア語(キリル文字)srセルビア語(ラテン文字)
skスロバキア語slスロベニア語
sbソルブ語esスペイン語(スペイン)
es-mxスペイン語(メキシコ)es-gtスペイン語(グアテマラ)
es-crスペイン語(コスタリカ)es-paスペイン語(パナマ)
es-doスペイン語(ドミニカ共和国)es-veスペイン語(ベネズエラ)
es-coスペイン語(コロンビア)es-peスペイン語(ペルー)
es-arスペイン語(アルゼンチン)es-ecスペイン語(エクアドル)
es-clスペイン語(チリ)es-uyスペイン語(ウルグアイ)
es-pyスペイン語(パラグアイ)es-boスペイン語(ボリビア)
es-svスペイン語(エルサルバドル)es-hnスペイン語(ホンジュラス)
es-niスペイン語(ニカラグア)es-prスペイン語(プエルトリコ)
sxスート語svスウェーデン語
sv-fiスウェーデン語(フィンランド)thタイ語
tsツォンガ語tnツワナ語
trトルコ語ukウクライナ語
urウルドゥー語veヴェンダ語
viベトナム語xhコサ語
jiイディッシュ語zuズールー語

複数言語の判定にはPHPのif…elseif…else文を使用しています。

if (条件)
{
    if 条件成立时执行的代码;
}
elseif (条件)
{
    elseif 条件成立时执行的代码;
}
else
{
    条件不成立时执行的代码;
}

上記の方法以外にも、以下のコードを挿入することで、同様に異なる言語へのリダイレクトを実現できます。

<?php
$lan = substr( $HTTP_ACCEPT_LANGUAGE,0,5);
if ($lan == "zh-cn")
print("<meta http-equiv='refresh' content = '0;URL = gb/index.htm'>");
else
print("<meta http-equiv='refresh' content = '0;URL = eng/index.htm'>");

翻訳プラグインを使用して多言語サイトを作成している場合、通常プラグインの設定でリダイレクト機能を直接有効にできます。

コードを修正する以外にも、ドメイン解決を使用してIPアドレスの位置情報に基づいて直接リダイレクトすることもできます。一部の高度なDNSサービスプロバイダーはこの機能をサポートしています。

以前に書いた関連記事:

この記事を評価する post
前の記事 共有ホスティングよりも簡単な外国貿易向けVPS Scala Hostingでのサイト構築チュートリアル 同じタイムラインの近くのコンテンツを読み続ける。 次の記事 4つのWordPressサイトアクセスにパスワードを必要とするプラグイン_パスワードでコンテンツを閲覧 次の関連チュートリアルや経験を表示する。

AIサイト構築アシスタント

🤖
こんにちは!私はNaibaサイト構築ノートのAIアシスタントです。何かお手伝いできることはありますか?
クイックコンサルティング: