【问题标题】:WPML - Get current language within a another pluginWPML - 在另一个插件中获取当前语言
【发布时间】:2016-08-16 11:29:53
【问题描述】:

我正在尝试通过插件中的ICL_LANGUAGE_CODE 获取当前语言代码 但我不能,它没有定义,这个结果

echo "Code: ".ICL_LANGUAGE_CODE;

Code: ICL_LANGUAGE_NAME

当我尝试以下操作时

global $sitepress;
$current_language = $sitepress->get_current_language();
echo "Code:". $current_language ;

我得到了空白屏幕。

我不知道我可以通过什么方式获得它。

在主题functions.php 中一切正常。 谢谢。

【问题讨论】:

标签: wordpress wpml


【解决方案1】:

你可以像这样使用WPML默认过滤器来获取当前语言

 $my_current_lang = apply_filters( 'wpml_current_language', NULL );

结果将包含您当前的语言代码,例如:ar、en、fr ...等

【讨论】:

    【解决方案2】:

    您可以使用以下代码获取当前语言代码。我在我的一个插件和它的工作中尝试了这个。

    if ( defined( 'ICL_LANGUAGE_CODE' ) ) {
      echo ICL_LANGUAGE_CODE;
    }
    

    【讨论】:

      【解决方案3】:

      不推荐使用此常量。请改用这个https://wpml.org/wpml-hook/wpml_current_language/

      此处列出了全新的 WPML API,以防您有更多问题 https://wpml.org/documentation/support/wpml-coding-api/wpml-hooks-reference/

      或者您可以随时在官方 wpml.org 论坛提问 :)

      【讨论】:

        【解决方案4】:

        /* 使用代码获取 WPML 语言:*/

                    <?php 
                    $languages = icl_get_languages('skip_missing=0&orderby=code&order=DIR'); 
                    foreach ($languages as $lang) { 
                ?>
                <li style = "list-style:none;">
                    <a href="<?php echo $lang['url']; ?>">
                        <img style="float:left; margin: 3px 5px 0 0;" src="<?php echo $lang['country_flag_url']; ?>" height="12" width="18" />
                        <?php echo $lang['native_name'];  ?>
                    </a>
                </li>
                <?php 
                    } 
                ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-11
          • 1970-01-01
          • 2012-07-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-26
          • 2011-03-22
          相关资源
          最近更新 更多