Joomlaで多言語サイトを構築しています。
すべての記事の最後に、ソーシャル ボタンが表示されます。Facebookのいいねボタンの現在のページを取得するために、このコードがありました。
<?php
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>
<div class="fb-like" data-href="<?php echo curPageURL(); ?>" data-width="450" data-show-faces="false" data-send="true"></div>
問題は次のとおりです。多言語サイトを構築すると、www.example.com/es と www.example.com/en が表示され、ある言語でソーシャル ボタンをクリックしても、他の言語では同様のものが表示されません。 . 同じ記事だけど言葉が違うと、両方の「いいね」の合計になると思います。
私にとっての解決策は、マスター URL を取得することです...: 現在の URL の widthout 言語拡張子 (/en および /es) を取得してマスター URL を取得するにはどうすればよいですか?