signup_get_available_languages()
云策文档标注
概述
signup_get_available_languages() 函数用于获取在站点或用户注册过程中可用的语言列表。它基于已安装的语言文件,并可通过过滤器进行自定义。
关键要点
- 函数返回一个字符串数组,包含可用的语言代码,这些代码通过去除语言文件名中的 .mo 扩展名形成。
- 使用 apply_filters('signup_get_available_languages', get_available_languages()) 来过滤可用语言列表,允许开发者通过钩子修改或禁用设置。
- 函数会过滤掉未安装的语言,确保只返回实际可用的语言代码。
- 相关函数包括 get_available_languages() 用于获取所有可用语言,以及 validate_another_blog_signup() 等用于注册验证。
代码示例
function signup_get_available_languages() {
$languages = (array) apply_filters( 'signup_get_available_languages', get_available_languages() );
return array_intersect_assoc( $languages, get_available_languages() );
}注意事项
- 如果向 signup_get_available_languages 过滤器传递空数组,将禁用注册表单中的语言设置,并使用默认语言创建站点。
- 语言代码基于已安装的 .mo 文件,非安装语言会被自动过滤掉。
- 此函数自 WordPress 4.4.0 版本引入。
原文内容
Retrieves languages available during the site/user sign-up process.
Description
See also
Source
function signup_get_available_languages() {
/**
* Filters the list of available languages for front-end site sign-ups.
*
* Passing an empty array to this hook will disable output of the setting on the
* sign-up form, and the default language will be used when creating the site.
*
* Languages not already installed will be stripped.
*
* @since 4.4.0
*
* @param string[] $languages Array of available language codes. Language codes are formed by
* stripping the .mo extension from the language file names.
*/
$languages = (array) apply_filters( 'signup_get_available_languages', get_available_languages() );
/*
* Strip any non-installed languages and return.
*
* Re-call get_available_languages() here in case a language pack was installed
* in a callback hooked to the 'signup_get_available_languages' filter before this point.
*/
return array_intersect_assoc( $languages, get_available_languages() );
}
Hooks
- apply_filters( ‘signup_get_available_languages’, string[] $languages )
-
Filters the list of available languages for front-end site sign-ups.
Changelog
| Version | Description |
|---|---|
| 4.4.0 | Introduced. |