WordPress 多语言插件 Polylang 主题函数参考

重要:使用一个函数之前,你必须检查函数是否存在,否则,你的网站可能会在 Polylang 更新之前遇到致命错误(因为 WordPress 更新插件之前会先删除它)

pll_the_languages,显示语言切换器

使用方法:

pll_the_languages($args);

$args是一个可选参数,选项如下:

· ‘dropdown’ => 显示为列表设置为 0, 下拉设置为1 (default: 0)

· ‘show_names’ => 显示语言名称设置为 1 (default: 1)

· ‘display_names_as’ => 可以是 ‘name’ 或 ‘slug’ (default: ‘name’)

· ‘show_flags’ => 显示国旗设置为1 (default: 0)

· ‘hide_if_empty’ => 设置为1,在没有翻译时,隐藏语言切换器 (或页面) (default: 1)

· ‘force_home’ => 如果设置为1,强制链接到首页 (default: 0)
‘echo’ => 显示设置为 1, 返回设置为 0 (default: 1)

· ‘hide_if_no_translation’ => 如果设置为1,在没有翻译时隐藏该语言 (default: 0)

· ‘hide_current’=> 如果设置为1,隐藏当前语言 (default: 0)

· ‘post_id’ => 如果设置了,显示指向翻译文章(或页面)的链接 (default: null)

· ‘raw’ => 用来创建自定义语言切换器 (default:0)

重要:如果以下拉方式使用语言切换器,你必须自行提供附加到语言切换器的 Action,如果你想要小工具提供的同一个内容,你可以在 polylang/include/widget.php 中找到正确的代码,如果不使用下拉选项,你必须自定输入ul标签。

<?php // 输出语言名称列表 ?> <ul><?php pll_the_languages(); ?></ul>
<?php // 输出国旗列表 (没有语言名称) ?> <ul>
<?php pll_the_languages(array('show_flags'=>1,'show_names'=>0)); ?></ul>
<?php // 以下拉方式输出语言列表 ?> <?php pll_the_languages(array('dropdown'=>1)); ?>

如果以上选项不够用,你还可以是用 ‘raw’ 参数自定义语言切换器。

$translations = pll_the_languages(array('raw'=>1));

此函数将赴会一个多元数组,每个语言都有以下内容。

· [id] => 语言 id

· [slug] => urls中使用的语言代码

· [name] => 语言名称

· [url] => 翻译的url

· [flag] => 语言国旗的 url

· [current_lang] => 如果显示的是当前语言为 true,其他情况下为 false

· [no_translation] => 如果没有可用翻译为 true,其他情况下为 false

pll_current_language,返回当前语言

使用方法:

pll_current_language($value);

· ‘$value’ => (optional) 可以是 ‘name’ 或 ‘locale’ 或 ‘slug’, 默认为 ‘slug’

返回当前语言的全名,或 WordPress locale,(类似于WordPress核心函数‘get_locale’),或当前语言的slug(2个字母的语言代码)

pll_default_language,返回默认语言

使用方法:

pll_default_language($value);

· ‘$value’ => (optional) 可以是 ‘name’ 或 ‘locale’ 或 ‘slug’, 默认为 ‘slug’

返回当前语言的全名,或 WordPress locale,(类似于WordPress核心函数‘get_locale’),或当前语言的 slug(2个字母的语言代码)

pll_get_post,返回文章(或页面)的翻译

这个函数获取的是指定文章对应的当前语言的文章 ID (注意:不是文章对象),理解起来可能有点绕,比如说关于我们中文语言的页面 ID 是 “100”,而关于我们英文语言版本的页面 ID 是 “101”,这个函数就是获取这两个页面的 ID 的。下面函数中的$post_id 参数就是 “100”,在中文语言下,返回的还是 “100”,在英文语言下,返回的 “101”,同理,我们把$post_id 设置为 “101” 也是一样的效果。

使用方法:

pll_get_post($post_id, $slug);

· ‘$post_id’ => (required) 需要翻译的文章id

· ‘$slug’ => (optional) 22个字母的语言代码,默认为当前语言

根据获取某个文章各种语言版本的对象

有时候,我们需要根据固定的文章 ID 获取某篇文章的内容,如果直接使用 WordPress 的 get_post 函数获取,获取的只是固定的一篇文章,切换语言时页面内容不会根据语言的不同而变化。Polylang 当然考虑到这个问题了,使用以下的方法即可获取某篇文章当前语言或者对应的翻译内容。

<?php $post = get_post( pll_get_post( 97, pll_current_language() ) ); ?>

pll_get_term,返回文章(或页面)的翻译

使用方法:

pll_get_post($post_id, $slug);

· ‘$post_id’ => (required) 需要翻译的分类id

· ‘$slug’ => (optional) 22个字母的语言代码,默认为当前语言

以整数方法返回翻译后的分类id

pll_home_url,返回首页 URL

使用方法:

pll_home_url($slug);

· ‘$slug’ => (optional) 22个字母的语言代码,此参数为可选项,如果在前段调用,默认为当前语言。

以字符串方式返回当前请求语言的 URL。

Wordpress Polylang 翻译自定义格式的更多相关文章

  1. Excel 单元格自定义格式技巧总结

    第一部分 Excel 中的单元格格式是一个最基本但是又很高级的技能,说它基本是因为我们几乎天天都会用到它,会用它来设置一些简单的格式,比如日期,文本等等:高级是因为利用 Excel 单元格的自定义格式 ...

  2. 代码中设置excel自定义格式为[红色]的处理方法

    有时候,excel的自定义格式设置时 ,会遇到需要设置为¥#,##0;[红色]¥-#,##0的格式. 其中会带一个颜色标记,但是如果这样的一句代码,放在英文版的Office里面,就失效了,因为英文版应 ...

  3. logback自定义格式转换器

    创建自定义格式转换符有两步. 首先,必须继承ClassicConverter类.ClassicConverter对象负责从ILoggingEvent 提取信息,并产生一个字符串.例如,LoggerCo ...

  4. 用 Lua 控制 MIDI 合成器来播放自定义格式乐谱

    用 Lua 控制 MIDI 合成器来播放自定义格式乐谱 作者: FreeBlues 最新: https://www.cnblogs.com/freeblues/p/9936844.html 说明: 本 ...

  5. 常用输入法快速输入自定义格式的时间和日期(搜狗/QQ/微软拼音)

    几个主流的输入法输入 rq 或者 sj 都可以得到预定义格式的日期或者时间.然而他们都是预定义的格式:当我们需要一些其他格式的时候该怎么做呢? 本文将介绍几个常用输入法自定义时间和日期格式的方法. 主 ...

  6. (转)Excel自定义格式详解

    ”G/通用格式”:以常规的数字显示,相当于”分类”列表中的”常规”选项.例:代码:”G/通用格式”.10显示为10:10.1显示为10.1. 2. “#”:数字占位符.只显有意义的零而不显示无意义的零 ...

  7. delphi 10.2 创建并使用资源文件(一共22种格式,RCDATA是自定义格式)

    windows支持以下资源格式: 1 2 //下面是 Windows 支持的资源格式: RT_CURSOR = MakeIntResource(1); RT_BITMAP = MakeIntResou ...

  8. Excel自定义格式参数

    一.自定义格式 方式一:代码结构组成代码分为四个部分,中间用“:”号分隔,具体如下:正数格式:负数格式:零格式:文本格式 两个代码部分,则第一部分用于正数和零和文本,第二部分用于负数 一个代码部分,则 ...

  9. jqGrid细节备注—jqGrid中自定义格式,URL格式

    本文来自:http://cnn237111.blog.51cto.com/2359144/782137 jqGrid中自定义格式,URL格式 当官方自带的showlink用起来不是十分顺手,因此可以考 ...

随机推荐

  1. Guitar Pro7应该怎么添加音色

    众所周知,音色是乐器的灵魂所在.音色的好坏,直接影响到了整首曲子的质量.Guitar Pro7中,用户不仅可以切换乐器模拟器,还能分别对其进行音色调整.对于新手而言,Guitar Pro7是一款非常合 ...

  2. Mac升级资料丢失怎么办?EasyRecovery能恢复嘛?

    随着越来越多的用户选择性能更高的mac笔记本来工作,一般情况下,为了保证用户有一个很好的使用体验,Mac系统会在一定的时间内进行系统的更新,弥补前一个版本的不足.结果就有一些用户反应Mac升级后,电脑 ...

  3. MAC端口被占用的解决方法

    html { overflow-x: initial !important } :root { --bg-color: #ffffff; --text-color: #333333; --select ...

  4. yii2.0 设置默认路由

    在config/web.php 添加 $config = [ 'defaultRoute' => 'login/login', ];

  5. 痞子衡嵌入式:探析开启CRC完整性校验的IAR工程生成.out和.bin文件先后顺序

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是开启CRC完整性校验的IAR工程生成.out和.bin文件先后顺序问题. 痞子衡之前写了一篇 <在IAR开发环境下为工程开启CRC ...

  6. redis 做分布式锁

    ok 我们从最基础的一步步来 加锁: 1.setNx没有expire,拿锁线程挂掉后,死锁 2.setNx然后exipre分两步做,setNx后redis宕机,或者线程挂掉,死锁 3.SETNX re ...

  7. 新手上路之JDK11的下载、安装与PATH环境变量的配置

    目录 JDK11的下载 找到目标JDK JDK的下载 JDK11的安装 PATH环境变量的配置 为什么要配置环境变量? 配置前再检查一遍 配置变量 检查环境变量配置成功与否 细究起来,JDK11与JD ...

  8. SpringCloud 源码系列(1)—— 注册中心 Eureka(上)

    Eureka 是 Netflix 公司开源的一个服务注册与发现的组件,和其他 Netflix 公司的服务组件(例如负载均衡.熔断器.网关等)一起,被 Spring Cloud 整合为 Spring C ...

  9. FPGA 串口

    VerilogHDL那些事儿_建模篇(黑金FPGA开发板配套教程) 作者:akuei2 说明:参照该书将部分程序验证学习一遍 学习时间:2014年5月3号 主要收获: 1. 对串口有初步了解: 2. ...

  10. 20190620_二次开发BarTender打印机时,未能解析主引用“Seagull.BarTender.Print, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86”

    错误提示: 严重性 代码 说明 项目 文件 行 禁止显示状态警告 未能解析主引用"Seagull.BarTender.Print, Version=1.0.0.0, Culture=neut ...