2012-03-01 17 views
2

如何在WordPress中獲得ISO代碼語言? 此功能:WordPress:獲取ISO語言

get_bloginfo('language'); 

回報我languge是這樣的:EN-EN

我創建這樣一個功能:

<?php 
function pr_language() { 
    $lang = get_bloginfo('language'); 
    $pos = stripos($lang, '-'); 
    $lang = substr(get_bloginfo('language'),0,-($pos+1)); // retourne "f" 
    return $lang; 
} 
?> 

它是正確的嗎?我想顯示EN不EN - EN

回答

7

我希望我理解你的問題。看來你想展示的只是en-US。

WordPress

用法: <?php bloginfo($show); ?>

參數: language

所以,

確切的代碼: <?php bloginfo('language'); ?>

將輸出:

的en-US

要僅顯示連接,只顯示前兩個字符。

function show_short_language() { 

    <?php echo substr(get_bloginfo ('language'), 0, 2);?> 

} 

的人在未來剛一說明:

<?php echo substr(get_bloginfo ('language'), 0, 2);?>

製作:

連接

<?php echo substr(bloginfo ('language'), 0, 2);?>

製作:

的en-US

+0

我希望顯示的連接不是EN-EN或EN-US – prestarocket 2012-03-01 08:23:06

+0

所以,如果你只希望它顯示的語言代碼的前兩個字母你可以指望從左至右爲兩個空間。 – EGHDK 2012-03-01 08:26:52

+2

對不起,它工作。這次真實。 – EGHDK 2012-03-01 08:44:22

6

有3個字母,而不是2的語言代碼,所以你不應該使用substr。我所做的:

$lang = explode('-', get_bloginfo('language')); 
$lang = $lang[0]; 
+0

不幸的是,我得到了'it_IT',而不是'it-IT',所以爆炸並不是一個可靠的含義,除非你確認了你得到的字符串的長度並且可能執行第二次爆炸,以確保結果 :-) – 2017-09-25 08:25:44