gpt4 book ai didi

php - 隐藏语言 WPML

转载 作者:IT王子 更新时间:2023-10-28 23:54:33 26 4
gpt4 key购买 nike

我正在使用 WPML 语言,但找不到下一步的解决方案:

在语言切换器上,我想隐藏语言,例如 - “he”,如果当前语言是“ar”,那么当我们在阿拉伯语网站上时,我们将不会在选择器上看到希伯来语,同样,如果我们使用希伯来语,阿拉伯语将不会显示。

关于缩短词:我想要的是 - 如果我们在阿拉伯语站点上 - 希伯来语标志将被隐藏。

我尝试了什么:

function language_selector_flags(){
$languages = icl_get_languages('skip_missing=0');
if(!empty($languages)){
if(ICL_LANGUAGE_CODE=='en')
{
$order = array('ar'); //Specify your sort order here
}
elseif(ICL_LANGUAGE_CODE=='he')
{
$order = array('en', 'ar'); //Specify your sort order here
}

foreach ($order as $l) {
if (isset($languages[$l])) {
$l = $languages[$l]; //grab this language from the unsorted array that is returned by icl_get_languages()

//Display whatever way you want -- I'm just displaying flags in anchors (CSS: a {float:left; display:block;width:18px;height:12px;margin:0 2px;overflow:hidden;line-height:100px;})
if($l['active']) { $class = "active"; $url=""; } else { $class = ''; $url = 'href="'.$l['url'].'"'; }
echo '<a '.$url.' style="background:url('.$l['country_flag_url'].') no-repeat;" class="flag '.$class.'">';
echo $l['language_code'].'';
}
}
}
}

它完全不影响选择器。

最佳答案

您可以查看插件 WPML Flag In Menu .

您可以使用插件中的 plugin_wpml_flag_in_menu() 函数 (see source code here) 并替换:

// Exclude current viewing language             
if( $l['language_code'] != ICL_LANGUAGE_CODE )
{
// ...
}

// Include only the current language                
if( $l['language_code'] == ICL_LANGUAGE_CODE )
{
// ...
}

如果我理解正确的话,只显示当前的语言/标志。

ps:如果您需要进一步的帮助,您可以向我们展示当前语言的调试功能的输出:

function debug_icl_active_language()
{
$languages = icl_get_languages( 'skip_missing=0' );
foreach( (array) $languages as $l )
{
if( $l['active'] )
{
printf( '<pre> Total languages: %d - Active: %s </pre>',
count( $languages ),
print_r( $l, TRUE ) );
}
}
}

关于php - 隐藏语言 WPML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20346340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com