升级到WordPress 4.7后,我将语言字段从个人资料更改为英语,而网站的语言设置为希腊语。
我写了一个显示小部件的插件。该小部件正在通过ajax调用刷新其内容。正如这里提到的(请参阅 有关admin-ajax.php的注释
),通常以我个人资料的语言(英语)返回字符串,但我希望将其放在网站的语言环境(希腊语)中。
在switch_to_locale( get_locale() )
ajax调用操作处理程序的第一行添加语句之后,使用默认文本域(例如)的表达式__( 'Sunday' )
确实会转换为希腊语。但是,像这样__( 'Sunday', 'my-plugin-textdomain' )
的表达式永远不会被翻译。
我的问题是, 在ajax调用期间,如何在网站(而非个人资料)的语言环境中显示来自插件文本域的字符串?
注意:
这是一个较晚的答案,但我发现了如何在AJAX调用今天开始工作之前加载相关文本域,需要在此处共享:
在表单中添加一个隐藏的输入字段,或在数据中追加以下内容:
<input type='hidden' name='lang' value='<?php echo get_locale();?>'>
要么
{
lang: '<?php echo get_locale()?>',
}
然后,在load_*_textdomain()
函数调用之前,编写以下代码:
if (isset($_GET["lang"])) {
$locale = $_GET["lang"];
add_filter('determine_locale', function()use($locale){ return $locale; });
}
它将语言环境切换到所需的语言环境。请注意,语言环境与文件名类似en_US
或el
相对.mo
。
我试图理解JVM中的调用站点是什么。引用https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-5.html#jvms-5.4.3.6 调用站点说明符解析的结果是一个元组,包括: •对, •对, 对、、和实例的引用。 我们还有所谓的调用站点对象https://docs.oracle.com/javase/specs/jvms/se8/html
我正在尝试添加自定义endpoint(自定义endpoint”是指一个不被WP识别为标准URL的任意URL,如permalink等。)我用的是WordPress插件样板“https://github . com/DevinVinson/WordPress-Plugin-Boilerplate”。 我想在自定义endpoint上发送一个API请求。我创建了一个新的类文件来注册endpoint,并将这
本文向大家介绍在WordPress中使用wp-cron插件来设置定时任务,包括了在WordPress中使用wp-cron插件来设置定时任务的使用技巧和注意事项,需要的朋友参考一下 PHP 本身是无法创建定时任务的,但是 WordPress 自带了一个伪定时任务(Cron) API,非常的方便好用,包括 WordPress 本身的定时发布文章都依赖于这个 API WP Cron 是什么? 是 Wor
越来越多的插件开始使用AJAX 技术。我个人并没有在大多数的插件中看到过AJAX,但是使用AJAX 来完成某个任务对你的插件来说可能是必要的。这篇文章将像你展示怎样在你的插件中使用AJAX。 这篇文章将在上一篇文章《在插件中添加js 和css》的基础上继续。 建立新的PHP文件 Devlounge Plugin Series 插件已经有了如下的目录结构了: devloung-plugin-seri
我想强制我的Symfony 2.5应用程序的区域设置为。我希望这个区域设置用于strftime()函数。 我的: 我正在我的一个控制器中使用以下代码来调试: 当这样执行时,它显示:。 但是,当第一行未注释时,它会显示:,因此区域设置已安装在系统中并正常工作。 我如何使Symfony始终使用配置中指定的语言环境? $locale-a: