如何在使用polylang时确定wordpress页面的当前语言?

Fel*_*Cat 26 php wordpress hyperlink

我搜索一个输出polylang插件当前使用语言的变量.就像是:

if($curlang == "en") {
  ...
}
Run Code Online (Sandbox Code Playgroud)

Fel*_*Cat 47

解决方案很简单:

if (get_locale() == 'en_GB') {
Run Code Online (Sandbox Code Playgroud)


小智 15

要显示当前语言,您可以使用:

 <?php echo $lang=get_bloginfo("language"); ?>
Run Code Online (Sandbox Code Playgroud)

干净利落

  • 这不会给出相对的当前用户区域设置吗?如果我的用户管理设置是英语,站点是德语,则前面的任何与 ajax 相关的加载内容(如日历)都将是英语。为了获取所有场景的绝对语言环境,我使用 get_option('WPLANG') (6认同)

小智 14

pll_current_language

返回当前语言

用法:

pll_current_language( $value ); 
Run Code Online (Sandbox Code Playgroud)
  • $ value =>(可选)namelocaleslug,默认为slug

返回全名或WordPress语言环境(就像WordPress核心函数'get_locale'或当前语言的slug(2字母代码)一样).

  • 如何从不同的插件访问此功能?我收到错误“调用未定义的函数 pll_current_language()” (4认同)
  • @coding-dude.com 你不能。这是polylang 的一个函数。 (4认同)

MD.*_*que 11

简单的:

if(pll_current_language() == 'en'){
   //do your work here
}
Run Code Online (Sandbox Code Playgroud)


mvb*_*kel 9

这个插件在https://polylang.wordpress.com/documentation中记录得相当不错.

切换后期语言

开发人员文档声明以下逻辑作为为同一帖子的不同翻译生成URL的方法

<?php while ( have_posts() ) : the_post(); ?>
<ul class='translations'><?php pll_the_languages(array('post_id' =>; $post->ID)); ?></ul>
<?php the_content(); ?>
<?php endwhile; ?>
Run Code Online (Sandbox Code Playgroud)

如果你想对渲染的内容产生更大的影响,可以使用inspet pll_the_languages函数并将其行为复制到你自己的输出实现中

切换网站语言

由于您希望按钮切换语言,因此该页面:https://polylang.wordpress.com/documentation/frequently-asked-questions/the-language-switcher/将为您提供所需的信息.

一个实现示例:

<ul><?php pll_the_languages();?></ul>
Run Code Online (Sandbox Code Playgroud)

然后使用CSS设置样式以创建按钮,标记或任何您想要的内容.也可以使用te插件提供的小部件

获得当前语言

所有插件功能都在这里解释:https://polylang.wordpress.com/documentation/documentation-for-developers/functions-reference/

在这种情况下使用:

pll_current_language();
Run Code Online (Sandbox Code Playgroud)


Dia*_*ana 7

我使用这样的东西:

<?php 

$lang = get_bloginfo("language"); 

if ($lang == 'fr-FR') : ?>

   <p>Bienvenue!</p>

<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)