首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法使用插件中的__($string,$textDomain)函数获取翻译后的字符串(Wordpress)

在WordPress中,__($string, $textDomain)函数用于获取翻译后的字符串。如果你遇到无法使用这个函数获取翻译后的字符串的问题,可能是由以下几个原因造成的:

基础概念

  • __()函数:这是WordPress提供的用于翻译字符串的函数,它接受两个参数,第一个是要翻译的字符串,第二个是文本域(text domain),用于指定翻译文件。
  • 文本域(Text Domain):在WordPress插件或主题中,文本域是用来区分不同翻译文件的标识符。

可能的原因及解决方法

  1. 未正确设置文本域
    • 确保在调用__()函数时使用了正确的文本域。
    • 在插件的主文件中,通常需要定义文本域,例如:
    • 在插件的主文件中,通常需要定义文本域,例如:
  • 缺少翻译文件
    • 确保对应的.po.mo翻译文件存在于插件的languages目录下。
    • 文件名通常为your-plugin-text-domain-language-code.mo
  • 语言文件未激活
    • 在WordPress后台的“设置”->“常规”中,确保选择了正确的语言。
    • 如果使用的是多语言插件,如WPML或Polylang,确保翻译文件已正确关联并激活。
  • 缓存问题
    • 清除浏览器缓存和服务器端缓存,有时候旧的缓存可能导致翻译不生效。
  • 函数调用错误
    • 检查是否正确调用了__()函数,例如:
    • 检查是否正确调用了__()函数,例如:
  • 插件或主题冲突
    • 有时候其他插件或主题可能与当前插件发生冲突,尝试禁用其他插件或切换到默认主题查看问题是否解决。

示例代码

以下是一个简单的示例,展示如何在WordPress插件中使用__()函数:

代码语言:txt
复制
// 定义文本域
define('PLUGIN_TEXT_DOMAIN', 'my-plugin');

// 在插件中使用翻译函数
function my_plugin_hello_world() {
    echo __('Hello World', 'my-plugin');
}
add_action('wp_footer', 'my_plugin_hello_world');

应用场景

  • 国际化(i18n):当你的WordPress插件或主题需要支持多种语言时,使用__()函数可以帮助实现字符串的本地化。
  • 多语言网站:对于面向全球用户的网站,确保内容可以被不同语言的用户理解是非常重要的。

优势

  • 易于维护:通过集中管理翻译文件,可以方便地进行更新和维护。
  • 灵活性:可以轻松添加对新语言的支持,而不需要修改核心代码。

如果你按照上述步骤检查并仍然遇到问题,建议查看WordPress的官方文档或寻求社区的帮助。

相关搜索:无法使用Polylang Wordpress插件翻译Functions.php中的字符串从resx文件中通过翻译后的字符串获取名称Wordpress:无法使用get_the_id()获取文章标记中的URL;无法使用itertools获取Python函数中的所有排列如何使用Groovy/Java从文本( string )中获取特定的字符串?在返回某个函数的值后,无法从该函数中的某个函数中获取该迭代变量的值使用颤动和摆渡获取数据后,无法使用GraphQl查询中的数据使用指向结构的指针时,无法在C中获取空格后的单词在使用webpack 3.8的react路由器4.2中刷新后无法获取/aboutus页面无法在使用axios的react中从数据库获取_id。对于删除函数为什么在execl_df中无法使用更改后的na_values获取正确的数据帧无法使用指针获取计数器来计算字符串中的数字、大写和小写我尝试在不使用<string.h>函数的情况下在C中颠倒字符串,但不起作用无法使用公式从字符串中获取文本的第一部分如何使用LINQ获取列表<string>中的最后一个字符串,其中字符串'P'在字符串的第二个位置?为什么我的程序在不同函数中第二次使用字符串后崩溃?调用web服务并使用nodejs获取对变量(字符串)的响应。并在ibm云函数中返回该字符串使用c++中字符串头的getline()函数,第一个字符不会存储在string对象中使用spring数据jpa的ltree postgres类型--在postgres中定义函数和强制转换后出现获取语法错误我尝试通过使用字符串MNPPORTIN,00:11:16和常规的exp & grep函数从数组中获取匹配的元素
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用 poEdit 汉化 WordPress 插件和主题

翻译或者说本地化 WordPress 插件和主题可以让更多的国家和地区的人使用,而 WordPress 对 i18n 的支持使这一切都变得非常简单,插件和主题的作者非常容易就能让人们把他们的插件翻译成各种语言...WordPress 有两个可以被调用的函数:_e 和 __。为了使得插件或者主题能够被翻译,每次输出文本的时候,都应该使用这两个函数。...这两个函数使用方法是:__(message, domain) 和 _e(message, domain) _e 和 __的区别是:_e 直接输出文本,而 __ 是返回文本,需要自己输出,所以 __ 一般用在字符串连接当中...在你插件中的代码大致如下所示: load_plugin_textdomain('your-plugin-domain', "/wp-content/plugins/your-plugin-directory.../"); 函数具体语法:load_plugin_textdomain(domain, path) domain 变量就是前面 __ 和 _e 函数中使用的第二个参数。

1.3K20

使用debug_backtrace()做PHP调试

插件出错了,下面我们就一起找找出错的地方吧。...] ) ) $mo->merge_with( $l10n[$domain] ); $l10n[$domain] = &$mo; return true; } 看来是函数传进来的一个字符串...因为我们的函数调用就是使用的栈这个概念。简单地说,一个函数调用另一个函数,那么在调用期间需要保存现场,将自己的数据(比如调用指针、参数等)压入一个栈中,当调用完毕后再出栈恢复数据,然后继续调用。...主要功能:他们保存了函数的调用栈信息,一个不输出以数组形式保存,另一个直接输出调用栈,调试的时候一般使用debug\_print\_backtrace()。...通过仔细查找,发现原来load_plugin_textdomain()的第三个参数出了问题,该参数没有返回相对路径导致最后的路径错误,导致了MO文件无法找到。修改即可!

52610
  • C++中string append函数的使用与字符串拼接「建议收藏」

    &append( input_iterator start, input_iterator end ); append() 函数可以完成以下工作: 在字符串的末尾添加str, 在字符串的末尾添加str...的子串,子串以index索引开始,长度为len 在字符串的末尾添加str中的num个字符, 在字符串的末尾添加num个字符ch, 在字符串的末尾添加以迭代器start和end表示的字符序列. append...函数常用的三个功能: 直接添加另一个完整的字符串:如str1.append(str2); 添加另一个字符串的某一段子串:如str1.append(str2, 11, 7); 添加几个相同的字符:如str1...Hi..... 2. push_back函数 函数原型: void push_back( value_type _Ch ); 功能:将字符添加到字符串的末尾,注意是字符而不是字符串。...append方法的常用用法 实战c++中的string系列–string的连接(+= or append or push_back) c++拼接字符串效率比较(+=、append、stringstream

    5K30

    如何开发一个简单的WordPress 插件

    第一部分:WordPress 插件基础1.1 什么是 WordPress 插件?WordPress 插件是用 PHP 编写的代码片段,可以添加到 WordPress 网站中,以扩展其功能。...以下是实现国际化的步骤:3.5.1 加载文本域在插件文件中添加以下代码,以加载文本域:function my_first_plugin_load_textdomain() { load_plugin_textdomain...'/languages/');}add_action('plugins_loaded', 'my_first_plugin_load_textdomain');3.5.2 使用翻译函数在插件中使用 __...() 和 _e() 函数进行翻译:echo __('这是一个翻译的文本', 'my-first-plugin');_e('这是一个翻译的文本', 'my-first-plugin');第四部分:插件的最佳实践...可以在 WordPress 插件目录中创建一个帐户并提交插件。提交时需要提供以下信息:插件名称插件描述插件版本插件文件5.2 维护插件发布后,定期维护插件是非常重要的。

    33910

    为WordPress添加分页

    找到输出翻页的代码 一般在主题的index.php(首页模板)中,可能是the_posts_navigation()函数,也可能是主题的自定义函数,这些函数的名字里通常带有the_posts_navigation...get_the_posts_pagination() 该自带函数支持返回向前、向后、页码、当前页的html代码(get前缀的函数返回代码,也可以用the_posts_pagination()直接输出),...paginate_links()函数,而该函数接受的参数如下: $args (string|array) (Optional) Array or string of arguments for generating...(首页模板)中使用 $pagination = get_the_posts_pagination( array( 'mid_size' => 3, 'prev_text'=>__('上一页','textdomain...,从文本域中获取翻译后的内容,不过我直接改了第一个参数,而不是对应的翻译,不管了。

    1.6K20

    WordPress插件设计

    一、WordPress介绍 如果是Php开发的同学,或者对博客和CMS有一定了解的同学都知道这个,以下是百度的解释: WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用...fr=aladdin WordPress也是支持插件的,因为最近在做插件系统的设计,所以想分析下它的插件设计思想。...插件中,主文件就是 akismet.php。...1、关于安装和反安装 WordPress中这两个概念比较淡,取而代之的是启用和禁用,因为默认插件是不启用的,反正只有一次执行机会,最终效果差不多,只要概念上保持一致。...,这2个是WordPress中使用最多的钩子,最终实现机制差不多,都是先声明,然后在代码中使用的地方调用相关回调/钩子,最后插件可以针对自己感兴趣的action/filter注册相关的回调。

    82930

    【译】WordPress 中的50个过滤器(6):第41-50个过滤器

    本文为系列第三篇,原文:50 Filters of WordPress: Filters 41-50 原文地址 即将吹响终点的号角!翻译得好累,如果你看不惯俺的渣渣翻译,无比欢迎来做修正工作!...如果要显示在“概览”中,你可以使用下面的代码: <?...> 值得注意的是,通过wp_safe_redirect()函数设置的跳转链接不能为外链,除非你通过allowed_redirect_hosts函数添加域名白名单(这个之前在某篇文章中已经说过的了...) 更改评论表单的域 WordPress 中comment_form()使用展示评论表单,下面的例子让你可以自定义之: 例子:移除表单的url 域 <?...抱着善始善终的原则,勉勉强强翻译完了。翻译过程中也学到不少,但平心而论,翻译水平确实不行——所以如果你看不顺眼这“垃圾”翻译,尽管来修正吧!

    1.1K60

    WordPress 教程:使用 WP_Http 在 WordPress 中发起 HTTP Request

    在 PHP 中发起 HTTP 请求并不是很难,有很多种方法:使用 fopen() 函数,使用 cURL 扩展,使用文件操作函数如 fsockopen() 和 fwrite()等,但是问题是各种方法所依赖的服务器的配置把不同...,有些服务器可能无法支持,不过 WordPress 自身开发了新的 API WP_Http 使得 WordPress 在所有环境下都非常容易发起 HTTP Request。...PHP 类:WP_Http WordPress 2.7 开始引入了一个新的 PHP Class:WP_Http(在 wp-includes 目录 http.php 文件中)。...写插件的时候,尽量使用 WP_Http 来做 HTTP 请求。...WordPress 已经可以认为是 PHP 框架了,它含有各种类和方法,并且接口和方法使用非常简单,并且文档化,所以使用 WordPress 作为 PHP 框架进行开发,或者抽取 WordPress 中的一些类进行开发会起到事半功倍的效果

    48520

    PHP 中 Serialize 和 JSON 的区别和在 WordPress 中如何使用

    ​在 PHP 中,Serialize 和 JSON 是 PHP 和 WordPress 开发中的数据处理的常用方法,那么它们有什么区别呢?在 WordPress 中又如何使用​呢?...使用 Serialize 进行编码后,大小大概是使用 JSON 编码的1.5倍,这是因为 Serialize 后字符串包含了子串的长度,并且有更加详细的类型区分,而 JSON 只有四种类型,并且是以简单的符号表示...JSON 无法存储对象的原始的 class,解码的时候,只能解码成 stdClass 的实例。另外在 JSON 中也无法使用 __sleep() 和 __wakeup() 魔术方法。 4....WordPress 序列化处理相关函数大全 序列化处理是 WordPress 的强项,比如在使用 update_option 的时候,可以把字符串,数组,或者对象直接存进去,WordPress 会自定化进行序列化处理...只要你安装 WPJAM Basic 插件,你的 WordPress 就会有这个函数。 wp_send_json 直接发送 JSON 数据。

    5.8K30

    WordPress JSON REST API简单介绍及使用

    WordPress JSON REST API (WP API) 简介 这个插件(WordPress JSON REST API (WP API))提供了一个易于使用的REST API,让我们可以通过...WordPress JSON REST API (WP API)的使用 WP REST API插件的使用还是非常简单的,在Wordpress后台下载安装好WP REST API插件后,启用插件,注意...(object | string) optional password – 用来保护文章的密码,默认为空字符串 (string) optional post_parent –...(string) 类型 type参数指定获取文章的文章类型,可以是一个字符串或一个文章类型的数组。...和发布文章一样,data参数应该是一个包含以下键值对的对象,唯一不一样的就是编辑文章的参数中多了一个文章ID,编辑文章的数据参数和发布文章是一样的,这里就不再一一翻译了,请参照编辑文章的键值字符串部分。

    1.2K10

    大胆尝试 | 不懂php用ai-kimi花2小时写一个wordpress网站的采集微信文章的插件

    修改文章采集功能代码在`article-collector.php`文件中的`article_collector_page`函数中,对获取的文章内容进行解析,提取正确的标题和正文内容,并处理文章中的图片资源...修改文章采集功能代码在`article-collector.php`文件中的`article_collector_page`函数中,使用XPath定位获取标题和内容元素,并添加异常处理以及保留源页面的样式和排版...下面是更新后的完整代码,包括了从$html中获取标题、正文内容和图片,并上传到WordPress媒体库的部分:“`phpfunction collect_and_publish_article($html...;}}“`现在,这个函数可以从$html中采集标题、正文内容和图片,并将内容发布到WordPress中。如果您有任何其他问题或需要进一步帮助,请告诉我。...;}// 创建唯一的临时文件名,使用当前时间戳和随机字符串$time_stamp = time();$random_string = bin2hex(random_bytes(8));$temp_file_name

    39010

    gettext模块实现Python国际化

    ---- 2.通用步骤 (1)无论是使用哪一套API,都必须提取可以翻译的字符串并且生成一个翻译模板文件.pot (2)然后生成对应于不同语言翻译的文件.po (3)我们在应用程序中使用是的二进制格式的...(c)用xgetext来提取需要翻译的字符串生成翻译模板 ?...注意过程中,可能会询问你的email地址,直接回车即可 (e)编辑po文件,填写需要翻译的字符串对应的译文字符串,例如zh_CN.po: ?...这里msgid后面的字符串就是需要翻译的字符串,msgstr后面就是译文字符串。对en.po重复(e)操作 (f)使用msgfmt命令从po生成二进制文件mo,也是应用程序需要使用的文件。...到目前为止所有准备工作完成 补充: 注:上面的步骤也可以用poedit这款软件完成,官网上有详细的使用教程 另外,一旦python代码中要翻译的字符串发生变化(修改、增删),需要重新生成po文件时,可以用

    2.5K10

    WordPress多语言WPMLv4.6.3插件 自动翻译多国语言

    前言 WPML是WordPress的一个插件。简单来说,插件扩展了基本的WordPress CMS功能。在我们的情况下,WPML让WordPress支持多语言。 请注意!...它是完整的 使用WPML,你可以翻译页面、文章、自定义类型、分类、菜单甚至主题文本。 它兼容性强 每个使用WordPress API的主题或插件都可以与WPML一起运行多语言。...你可以安装任何组合的附加组件插件来获得额外的功能。 WPML多语言CMS 核心插件将WordPress转换为多语言。它添加了基本的翻译控件并允许翻译内容。...WPML媒体翻译 此插件允许在不同的语言中使用WordPress图库。你可以控制每种语言显示哪些图像。...WPML字符串翻译 字符串翻译插件允许直接从WordPress中翻译界面字符串,而无需使用.mo文件。 字符串翻译插件不仅允许翻译静态文本,还允许你翻译位于文章和页面之外的用户生成的文本。

    2.4K10

    WordPress插件中的XSS漏洞的复现分析与利用

    WordPress中的photo-gallery插件可以让用户在短短几分钟内构建十分漂亮精美的照片库。...WDWLibrary的静态函数get时,未给参数$esc_html赋值,那么$esc_html使用默认值true,即直接使用esc_html函数对从前端获取到的数据进行过滤消毒。...$alt在使用类WDWLibrary的静态函数get时,给参数$esc_html赋值FALSE,即在get函数中不使用esc_html函数过滤消毒,而是先使用preg_replace函数进行正则表达式匹配...wp_check_invalid_utf8函数用于检查字符串中是否存在无效的utf8编码。...); } 修复后的代码中,将类WDWLibrary的静态函数get中的形参$esc_html = true修改为$callback = 'esc_html',此时默认使用esc_html函数进行过滤

    1.2K10

    强大的WordPress表单插件 Forminator : 用API定制开发你的第一个插件

    由于这是一个Forminator 的扩展(插件的插件),我们只希望在Forminator处于激活状态时运行该扩展,因此我们将使用forminator_loaded这个动作(Action),并且只在执行了该动作后再运行我们创建的插件...创建仪表板小部件的类 下面这段话引用自WordPress的codex: 你的插件中所有函数的名称都应该与现存的Wordpress Core函数,其他插件或主题的任何名称不同。...请注意,本教程中的代码是被故意的分成一块块的,是为了防止你直接复制粘贴到线上的Wordpress后不小心把网站搞乱,要记住它们其实要放在一起的。...如果你想在你的网站上直接使用这个插件,我建议在GitHub上获取完整代码,而不是一点点的复制粘贴。 为了实例化插件类,你需要获取到类实例。...widget这个单词挺常见的,不仅在wordpress中,在其他地方,比如树莓派机器人的文章中也经常出现,在汉语中还真的有点不好表述,有的翻译成小部件,有的叫小工具,还有的叫小玩意,挂件?。

    3.3K20

    Wordpress

    、主题、插件等等来进行翻译的话,就可以执行任意代码。...2.漏洞影响 任意代码执行,但有以下两个前提: 攻击者可以上传自己构造的语言文件,或者含有该语言文件的主题、插件等文件夹 网站使用攻击者构造好的语言文件来对网站、主题、插件等进行翻译 这里举一个真实场景中的例子...:攻击者更改了某个插件中的语言文件,并更改了插件代码使插件初始化时使用恶意语言文件对插件进行翻译,然后攻击者通过诱导管理员安装此插件来触发漏洞。...在调用create_function时,我们通过}将原函数闭合,添加我们想要执行的内容后再使用/*将后面不必要的部分注释掉,最后即使我们没有调用创建好的函数,我们添加的新内容也依然被执行了。...在其创建函数时我们的payload就会被执行,由于访问每个文件时都要用这个对字体文件解析的结果对文件进行翻译,所以我们访问任何文件都可以触发这个payload: ?

    1.2K40

    【译】WordPress 中的50个过滤器(1):何为过滤器?

    在WordPress 的官方Codex 中,是这样介绍过滤器的: 过滤器是一类函数,WordPress执行传递和处理数据的过程中,在针对这些数据做出某些动作之前的特定点运行(例如将数据写入数据库或将其传递到浏览器页面...在WordPress 中使用过滤器 正如我所说,在WordPress 中使用过滤器是非常简单的。只需要明白几个基础的函数是怎样运作的你就明白它的原理。...> 这个函数使用PHP中的 preg_replace函数来替换标题中的元音字母并返回替换后的tile 参数。很简单不是吗?让我们挂载这段函数到一个过滤器上: <?...当然,它可以在核心外运行意味着你可以在自己的主题或插件中创建过滤器。 让我们看看它是如何工作的: <?...这个教程是介绍如何在个人开发的主题或插件中创建过滤器或动作。 结论 写的代码越多,你就越能发现过滤器的乐趣。

    1.2K100

    利用腾讯云搭建wordPress个人站(四)

    续接上一篇,本编之后都是对wordPress站点进行的额外配置,选择喜好看个人了。 首先,重要的话说三遍: 保证wordPress版本最新,插件,主题最新才是重中之重!...保证wordPress版本最新,插件,主题最新才是重中之重! 保证wordPress版本最新,插件,主题最新才是重中之重!...这里本篇推荐一些配置用来增加wordPress的安全性,以尽量减少插件的使用来做。这里推荐一个本地远程工具,wpscan来在云主机上对系统安全性进行扫描。...限制对部分文件的访问 主要用来限制对xmlrpc.php以及wp-cron.php的直接访问。 注意:如无法更新wordpress版本请取消对wp-cron.php的屏蔽。...此条只能从访问发送的数据中尽可能隐藏版本信息,但仍然能使用wpscan扫描得到版本信息。如需要增加反wpscan的扫描,需要配置自己的防火墙,也可以询问自己的服务提供商。

    68100

    WordPress如何使用腾讯云对象存储COS存储媒体库附件

    这篇文章来介绍一下通过使用插件实现将 WordPress 的媒体库附件存储在腾讯云 COS 上。...图片单击左侧的基础配置,查看访问域名并记录 图片访问 WordPress 后台,访问插件-安装插件页面 /wp-admin/plugin-install.php,安装插件从 GitHub 或 WordPress...在 macOS 系统下使用 COSCLI 时,若弹出无法打开“coscli”,因为无法验证开发者的提示,可以前往设置 > 安全性与隐私 > 通用中选择仍要打开 coscli,之后即可正常使用 COSCLI...APP ID APP ID 是您在成功申请腾讯云账户后所得到的账号,由系统自动分配,可从 账号信息 中获取。...以迁移 WordPress 为例,可以使用如下命令将 WordPress 的媒体库上传到 COS 中,其中 /yourpath/wp-content/uploads 就是你的 WordPress 站点目录本地的媒体库存储路径

    96593
    领券