WordPress 多语言插件 Polylang 主题函数参考,使用一个函数之前,你必须检查函数是否存在,否则你的网站可能会在 Polylang 更新之前遇到致命错误(因为 WordPrez n }ss 更= & X k ? p c新插件之前会先删除它)。
pll_the_languages
显示语言切换器,使用方法:
- pll_the_languages($args);
$args 是一个可选参数,选项如下:
‘dropdown’ => 显j N b \ + = X示为列表设置为 0, 下拉设置为 1 (default: 0)
‘show_names’ => 显示语言名称设置为 1 (defauQ # Nlt: 1)
‘display_names_as’ => 可以是 ‘name’ 或 ‘slug’ (default: ‘name’9 6 1 c)
‘show_flags’ => 显示国旗设置为 1 (default: 0)
‘hide_if_empty’ => 设置为 1,在没有翻译时,隐藏语言切换器 (或页面) (default: 1)
‘forcd 0 7 J J F re_home’ => 如果设置为 1,强制链接到首页 (default: 0)
‘echo’ => 显示设置为 1, 返回设置为 0 (default: 1)
‘hide_if_no_translation’ => 如果设置为 1,在没有翻译时隐R _ P l U藏该语言 (default: 0)
‘hide_current’=> 如果设置为 1,隐藏当前语言 (default? e k Z } 2 p %: 0)
‘post_id’ => 如果设置了,显示指向翻译文章(或页面)的链接 (default: null)
‘raw’ => 用来创建自定义语言切换器 (default:0)
重要:g ; V v / G ~ V如果以下拉方式使用T P R m ^ T J ,语言切换器,你必须D ^ D o P l \自行提供附加到语言切换器的 Action,V J a d 9 . L _ A如果你想要小工具提供的同一个内容,你可以在 polylang/include/widget.php 中找到正确的代码,如果不使用下拉选项,你必须自定输入 ul 标签。
- <?php // 输出语言名称列表 ?> <ulr Z e R ( 8 $ o><?p. F 5hp pll_P z Z K B 8the_languages(); ?></ul>
- <?php // 输出4 ` n ` q国旗列表 (没有语言名称)X C ? + 8 ~ n + ?> &- i | } \ Plt;ul>
- <?php pll_the_language| 7 l Rs(array('show_flags'=>1,'show_names'=>0)); ?></ul>
- <?php // 以下拉方式输出语言列表 ?> <?php pll_the_lang* + u 2 4uages(array('dropdown'=>1)); ?>
如果以上选项不够用,你还可以是用 ‘raw’ 参数自定义语言切换器。
- $translations = pll_th2 p E w ) oe_langC b S 7 K s W W huages(array('raw'=>1));
此函数将赴会一个多元数组,每个语言都有以下内容。
[id] => 语言 id
[slug] => urls 中使用的语言代码
[name] => 语言名称
[url] => 翻译的 url
[flag] => 语言国旗的 url
[current_lang] => 如果显示的是当前语言为= A ^ D v Y true,其他情况下为 false
[no_translation] => 如果没有可用翻译为 true,其他情况下为 false
pll_current_language
返回当前语言,使用方法:
- pll_current_language($q = j E J qvalue);
‘$value’ => (optional) 可以是 ‘name’ 或 ‘locale’ 或 ‘slug’, 默认为 ‘slug’
返回当+ r % 6 h j p /前语言的全名,或 WordPress locale,(类似于 WordPressL t N \ I 3 w 2 核心函数‘get_locale’),或当前语言的 slug(2 个字母的语言代码)
pll_defau! 1 V P 5 @ $ slt_language
返回默认语言,使用方法:
- pll_default_language($value)$ ; b P x;
‘$value’ => (optional) 可以是 ‘name’ 或 ‘locale’ 或 ‘slug’, 默认为 ‘slug’
返回当前语言的全名,或D R B ? ? o | WordP6 g A \ K G 4ress locale,(类似于 WordPress 核心函数H * q A [ & O D Q‘get_locale’),或当前语言的 slug(2 个字母的语言代码)
pll_get_post
返回文章(或页面)的翻译,这个函数获取的是指定文章对应的当前语言的文章 ID (注意:不是文章对象),理解4 r S v \ | z f 7起来可能有点绕,比如说关于我们中文语言的页面 ID 是 “100”,而关于我& D l M J } c们英文语言版本的页面 ID 是 “101”,这个函数就是获取这两个页面的 ID 的。下面函数中的& w H 7 V p * x j$post_id 参数就是 “100”,在中文语言下,返回的还是 “100”,在英文语言下,返回的 “101”,同理,我们把$post_id 设置为 “101” 也是一样的效果。
使用方法:
- pll_get_post($post_id, $slug);
‘$post_id’ => (required)a / S 需要翻译的文章 id
‘$slug’ => (optioF v \ e Y c X i =nal) 22 个字母的语言代码,默认为当前语言
根据获_ c = M O Q F )取某个文章各种语言版本的对象p & e ] o
有时候,我们需要根据固定的文章 ID 获取某篇文章的内容$ h 2 0 * 5 P s,如果直接使用 WordPress 的 get_post 函数获取,M 4 r获取的只是固定的一篇文章q M I D @ | ) S,切换语W s ? H 3 \言时页面内容不会根据语言的不同而变化。Polylang 当然考虑到这个问题了,使用以下的方法即可获取某篇文章当前语言或者对应的翻译内容。
pll_get_term
返回文章(或页面)的翻译,使用方法:
- pll_get_post($post_id, $slug);
‘$ W ^ v$post_id’ => (required) 需要翻译的分类 id
‘$slug’ => (optional) 22 个字母的语言代码,默认为当前; H o K R 8语言
以整数方L d w @ b法返回翻译后的分类 id
pll_home_url
返回首页 URL,使用方法:
- pll_home_url($slug);
‘$slug’ => (optional^ P @ ` ; Q Y | g) 22 个字母的语言代码,此参数为w w =可选项,如果在前段调用,默认为当[ w N A W R p前语言。
以字符串方式返回当前请求语言的 URL。
WordPress 多语言插件 Polylang 主题函数参考