2012-02-20 12 views
0

私は2つのWordPressに英語とアイルランド語をインストールするWebサイトを作成しました。同じカテゴリ、ページ名などの同一の設定です。ヘッダーのWordPressリンクを変更する

私は '英語|各ページの私の見出しにアイルランドのリンクがあります。

英語のページにあり、上にある「irish」リンクをクリックすると、同じページが表示されますが、アイルランドのサイトに移動します。

リンク構造を以下に示す:

http://mysite.com/english/about

http://mysite.com/irish/about

は、だから私は本当にだけ

答えて

1

標準のWordPressは彼らですから適応

<?php 
$url = 'http://www.domain-name.com/english/index.php/tag/my-tag'; 

$path = parse_url($url); 
// split the path 
$parts = explode('/', $path[path]); 
//get the first item 
$tag = $parts[1]; 
print "First path element: " . $tag . "\n"; 

$newPath = ""; 
//creating a default switch statement catches (the unlikely event of) unknown cases so our links don't break 
switch ($tag) { 
    case "english": 
     $newPath = "irish"; 
     break; 
    default: 
     $newPath = "english"; 
} 

print "New path element to include: " . $newPath . "\n"; 

//you could actually just use $parts, but I though this might be easier to read  
$pathSuffix = $parts; 

unset($pathSuffix[0],$pathSuffix[1]); 

//now get the start of the url and construct a new url 
$newUrl = $path[scheme] . "://" . $path[host] . "/" . $newPath . "/" . implode("/",$pathSuffix) . "\n"; 
//full credit to the post below for the first bit ;) 
print "Old url: " . $url . "\n". "New url: " . $newUrl; 
?> 

あなたのために多言語の問題を処理するプラグイン。しかし、あなたがあなたと一緒にいることを望むなら、このスクリプトはあなたが尋ねたことを正確に行います。

$url = 'http://www.mysite.com/english/about/me/test'; 

$parsedUrl = parse_url($url); 
$path_parts = explode("/",$parsedUrl[path]); 

$newUrl = $parsedUrl[scheme] . "://" . $parsedUrl[host]; 
foreach($path_parts as $key =>$part){ 
    if($key == "1"){ 
     if($part == "english") $newUrl .= "/irish"; 
     else $newUrl .= "/english"; 
    } elseif($key > "1"){ 
     $newUrl .= "/" . $part; 
    } 
} 

echo "Old: ". $url . "<br />New: " .$newUrl; 
+0

プラス1の特定のコードを書く手間がかかります。 –

+0

実際には少し変わります。 $ newURLの末尾にパスの残りの部分を追加する必要があります。これは、「同じページが表示されますが、アイルランドのサイトに移動してもらいたい」からです。私は私がこれをやっている場所の更新を少し書いています。 –

+0

私はすでにその部分でそれを行います elseif($ key> "1"){ $ newUrl。= "/" $ part; あなたがコードを実行すると、それはすでにそれを行うことがわかります – Daan

0

'アイルランド' で置換されるURLに '英語' を必要とするあなたが使用していますローカリゼーション - http://codex.wordpress.org/I18n_for_WordPress_Developershttp://codex.wordpress.org/Multilingual_WordPressを参照してください。その場合は、http://codex.wordpress.org/Function_Reference/get_localeを参照してください。これを使用してロケールを検出し、それに応じてリンクを更新することができます。プラグインを使用している場合は、プラグインのドキュメントを確認する必要があります。

ない場合は、現在のURLを解析し、パスを爆発し、リンクをこのように更新することができ - http://php.net/manual/en/function.parse-url.php

例:http://www.codingforums.com/archive/index.php/t-186104.html

関連する問題