WordPress重复/不需要加载插件textdomain

在WP版本4.6-alpha-37590中,我是各种插件的作者。 我的一个插件(https://wordpress.org/support/plugin/wp-photo-album-plus)具有阻止加载插件textdomain的能力。这是插件用户的特殊请求。 因此,我选择跳过加载,如下所示: // Do we want text domain loaded? Hans Wahlgren does not.if ( get_option( \"wppa_use_language\", \"yes\" ) == \"yes\" )> For all languages that have a language file in …/wp-content/languages/ provided by the polyglot system, this file will be 1. updated to the site automaticly so it use useless to remove it. 2. loaded by load_textdomain() regardless of my switch. It is even worse, when the switch is on, the language file is loaded twice, if the file exists in …/wp-content/languages/ Honestly, this would be a case where you\"re the wrong person to fix the issue, but I don\"t know who is… I\"ve brought it up with the #meta-i18n folks, but my gut feeling is you shouldn\"t be doing this at all. Hans is asking you to circumvent WP core features that are unrelated to your plugin (you\"re photos, that\"s translations). I don\"t know if anyone would have a solution, but this would be something I would be personally unwilling to support in any of my plugins. If you don\"t want to load a text domain you have to use the override_load_textdomainfilter返回文本域的true,请参阅https://developer.wordpress.org/reference/hooks/overrideu loadu textdomain/。 如果loadu pluginu textdomain()是加载插件文本域的函数,有人会认为,当您将其忽略时,文本域将不会被加载。还是不? @dominik:Thanx链接。不幸的是,新样式文档提供的信息太少了 关于重复加载的情况如何?这个问题会在发布版本中解决吗? 我想说,多米尼克提到的override_load_textdomain函数就是这个方法。 但是你能解释一下为什么汉斯不想加载翻译吗? 在欧洲,我们像瑞典的汉斯和他的用户汉斯一样,非常习惯用英语交流。对我们来说,这就像是第二语言。 在wppa有瑞典语翻译之前,他为他的用户编写了一本手册,指导他们如何做很多事情。他使用wppa的英语术语。他的用户继续使用这个英文插件没什么大不了的。当瑞典语翻译出现的时候(远远早于新的polyglot系统),对我来说实现这个转换比hom在每次更新后从../wp photo album plus/languages/中删除瑞典语文件要容易得多。所以,这种服务我是用来给我的用户。在\"评论\"屏幕上,您可以看到我的用户多么感谢我对他们的支持。 我尝试了以下方法: // Load languageadd_action( \"plugins_loaded\", \"wppa_load_plugin_textdomain\" );function wppa_load_plugin_textdomain() {global $wppa_lang;global $wppa_locale;// Do we want text domain loaded? Hand Wahlgren does not.if ( get_option( \"wppa_use_language\", \"yes\" ) == \"yes\">Expand But the language file is still loaded by load_textdomain() according to query_monitor: wp-photo-album-plus load_textdomain() wp-includes/l10n.php:827wp-content/languages/plugins/wp-photo-album-plus-nl_NL.mo373 kB 如果loadu pluginu textdomain()是加载插件文本域的函数,您可能会认为如果不加载该函数,则不会加载文本域。还是不? loadu pluginu textdomain()是否将被弃用/淘汰? @opajaap请看https://developer.wordpress.org/plugins/hooks/filters/关于如何使用操作/筛选器。 @dominik谢谢,我知道筛选器和操作是如何工作的。 我可以想象为什么overrideu loadu textdomain不起作用,我没有提供要重写的.mo文件。 所以我尝试了unloadu textdomain()。结果是,在4.6-alpha中,当域未卸载时,它返回true。 在WP版本4.5.2上,将语言设置为\"Nederlands\"(nlu nl) 正常wp页上的代码片段: echo \"__(\"Slideshow\", \"wp-photo-album-plus\" ) prints:\".__(\"Slideshow\", \"wp-photo-album-plus\" ).\"\";echo \"Doing: unload_textdomain( \"wp-photo-album-plus\"> produces this output: __(\"Slideshow\", \"wp-photo-album-plus\" ) prints:DiavoorstellingDoing: unload_textdomain( \"wp-photo-album-plus\" ) returned:1__(\"Slideshow\", \"wp-photo-album-plus\" ) prints:Slideshow 如预期。 在相同的测试站点上,在安装4.6-alpha-37629后,在完全相同的条件下,输出是: __(\"Slideshow\", \"wp-photo-album-plus\" ) prints:DiavoorstellingDoing: unload_textdomain( \"wp-photo-album-plus\" ) returned:1__(\"Slideshow\", \"wp-photo-album-plus\" ) prints:Diavoorstelling 可能这让您确信加载有问题4.6-alpha中的语言文件。 我知道过滤器和操作是如何工作的。 好吧,apply_filters( \"override_load_textdomain\", true, \"wp-photo-album-plus\", \"\" );肯定是错的。 这个主题不是关于是否或者如何防止文本域的加载,而是关于wp 4.6-alpha中i10n的意外错误行为。 为什么没有人回答这一点?我用证据清楚地证明了这一点。 如果4.6版的政策规定插件开发人员对语言文件没有更多的控制权,那对我来说没关系,但如果是这样,请告诉我,这样我就可以记录下来,删除我的开关,并向Hans和可能的其他人说声抱歉。 因为这是某人在不受支持的环境中做事情的意外行为是的。我们并不否认你有一个问题,它只是没有被打破。 你最初所做的是错误的,因为它只是说\"如果有人说是的,就使用这种语言,否则就使用WP认为应该使用的任何语言。\"这并没有被打破,这是一个错误的假设,假设当你不定义一种语言时会发生什么。很多人都喜欢不用再定义它了,WP只需选择它就可以了,这是完美的选择。 tl;那里的博士,WP的表现和预期一样。 但是你只有一个人不想翻译一个插件。我怀疑是这样的,事实上,我打赌他不想翻译大多数插件,这就是为什么我觉得你有短处,应该告诉他不。他会要求每个人都做这个改变,这不是你的事。 tl;博士那里,你被要求支持一些你真的可以说不的东西,我鼓励你但多米尼克告诉你你用错了过滤器。所以他把你指给医生看。 1。您需要的调用是add u filter()not apply u filter() apply u filters()是筛选器挂钩位置,由核心代码调用,用于应用主题/插件(和核心)添加到队列中的任何筛选器。 add u filter()由主题/插件(和核心)调用,和用于向队列中添加筛选器,以便按核心应用于钩子。 2。我们的功能我们要过滤的是overrideu loadu textdomain(很酷,没错) overrideu loadu textdomain 3。有人已经做得很好了看起来像http://geertdedeckere.be/article/loading-wordpress-language-files-the-right-way 编辑: 我认为这个用户需要的是https://codex.wordpress.org/Configuring_Automatic_Background#Updates#Translation_Updates_via_FilterŠ他应该自己写一个插件他有哪些插件和主题需要更新,哪些不需要更新,只需过滤就可以了。 @ipstenu: 这很有意义,谢谢。 你能确认以下结论吗? 1。从4.6版起,不再需要loadu pluginu textdomain(),因为它已成为冗余。 2。从4.6版开始,unloadu textdomain()不再工作,这是一个特性而不是一个bug。 3。文档页https://developer.wordpress.org/reference/hooks/overrideu loadu textdomain/如果出现故障,则说明应用u筛选器(),如果至少有1个,则说明不是添加u筛选器() 。和2。如果是真的,我将省去我的开关,并按照你在最后一段中的建议推荐。 1。从4.6版开始,将不再需要loadu pluginu textdomain(),因为它已变得多余。 这是正确的。上会有一个帖子make.wordpress.org/core这将突出这一变化。 2。从4.6版开始,unloadu textdomain()不再工作,这是一个特性,而不是一个bug。 这听起来像个bug。我会仔细看一看,如果需要的话,在trac上打开一张票。 3。文档页https://developer.wordpress.org/reference/hooks/overrideu loadu textdomain/是错误的,它说的是***7***,而不是***8*** 这不是错误。这一行并没有告诉您如何实现这个过滤器,它显示了这个过滤器是如何在内核中使用的(例如,像一个函数签名)。你会在***9*** 中找到确切的一行,函数也是如此,例如。https://developer.wordpress.org/reference/functions/loadu textdomain/显示***10***函数的签名。 谢谢大家对我的耐心。 我研究了源代码并理解了文本域的\"准时\"负载;一个完美的方法。 我现在使用以下结构,它既适用于<;4.6,也适用于> //Load languageadd_action(\"init\",\"wppa_Load_plugin_textdomain\");函数wppa_Load_plugin_textdomain(){global$wppa_lang;global$wppa_locale;global$wp_version;if($wp_version<;\"4.6\"){加载插件文本域(\"wp photo album plus\",FALSE,basename(目录名(文件文件))。\"/languages/\");}//\"Our\"usefull>Expand 我放下开关以禁用加载。毕竟(由其他人)开发一个单独的插件来选择要排除的textdomains确实是一个更好的主意。 我想让你打开一个unloadu textdomain()的票证

admin_action_{$_REQUEST[‘action’]}

do_action( "admin_action_{$_REQUEST[‘action’]}" )动作钩子::在发送“Action”请求变量时激发。Action Hook: Fires when an ‘action’ request variable is sent.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$_REQUEST['action']引用从GET或POST请求派生的操作。源码(Source)更新版本源码位置使用被使用2.6.0 wp-admin/admin.php:...

日期:2020-09-02 17:44:16 浏览:1159

admin_footer-{$GLOBALS[‘hook_suffix’]}

do_action( "admin_footer-{$GLOBALS[‘hook_suffix’]}", string $hook_suffix )操作挂钩:在默认页脚脚本之后打印脚本或数据。Action Hook: Print scripts or data after the default footer scripts.目录锚点:#说明#参数#源码说明(Description)钩子名的动态部分,$GLOBALS['hook_suffix']引用当前页的全局钩子后缀。参数(Parameters)参数类...

日期:2020-09-02 17:44:20 浏览:1060

customize_save_{$this->id_data[‘base’]}

do_action( "customize_save_{$this-&gt;id_data[‘base’]}", WP_Customize_Setting $this )动作钩子::在调用WP_Customize_Setting::save()方法时激发。Action Hook: Fires when the WP_Customize_Setting::save() method is called.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_data...

日期:2020-08-15 15:47:24 浏览:799

customize_value_{$this->id_data[‘base’]}

apply_filters( "customize_value_{$this-&gt;id_data[‘base’]}", mixed $default )过滤器::过滤未作为主题模式或选项处理的自定义设置值。Filter Hook: Filter a Customize setting value not handled as a theme_mod or option.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_date['base'],指的是设置...

日期:2020-08-15 15:47:24 浏览:885

get_comment_author_url

过滤钩子:过滤评论作者的URL。Filter Hook: Filters the comment author’s URL.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/comment-template.php:32610...

日期:2020-08-10 23:06:14 浏览:925

network_admin_edit_{$_GET[‘action’]}

do_action( "network_admin_edit_{$_GET[‘action’]}" )操作挂钩:启动请求的处理程序操作。Action Hook: Fires the requested handler action.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$u GET['action']引用请求的操作的名称。源码(Source)更新版本源码位置使用被使用3.1.0 wp-admin/network/edit.php:3600...

日期:2020-08-02 09:56:09 浏览:871

network_sites_updated_message_{$_GET[‘updated’]}

apply_filters( "network_sites_updated_message_{$_GET[‘updated’]}", string $msg )筛选器挂钩:在网络管理中筛选特定的非默认站点更新消息。Filter Hook: Filters a specific, non-default site-updated message in the Network admin.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分$_GET['updated']引用了非默认的...

日期:2020-08-02 09:56:03 浏览:854

pre_wp_is_site_initialized

过滤器::过滤在访问数据库之前是否初始化站点的检查。Filter Hook: Filters the check for whether a site is initialized before the database is accessed.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/ms-site.php:93910...

日期:2020-07-29 10:15:38 浏览:825

WordPress 的SEO 教学:如何在网站中加入关键字(Meta Keywords)与Meta 描述(Meta Description)?

你想在WordPress 中添加关键字和meta 描述吗?关键字和meta 描述使你能够提高网站的SEO。在本文中,我们将向你展示如何在WordPress 中正确添加关键字和meta 描述。为什么要在WordPress 中添加关键字和Meta 描述?关键字和说明让搜寻引擎更了解您的帖子和页面的内容。关键词是人们寻找您发布的内容时,可能会搜索的重要词语或片语。而Meta Description则是对你的页面和文章的简要描述。如果你想要了解更多关于中继标签的资讯,可以参考Google的说明。Meta 关键字和描...

日期:2020-10-03 21:18:25 浏览:1690

谷歌的SEO是什么

SEO (Search Engine Optimization)中文是搜寻引擎最佳化,意思近于「关键字自然排序」、「网站排名优化」。简言之,SEO是以搜索引擎(如Google、Bing)为曝光媒体的行销手法。例如搜寻「wordpress教学」,会看到本站的「WordPress教学:12个课程…」排行Google第一:关键字:wordpress教学、wordpress课程…若搜寻「网站架设」,则会看到另一个网页排名第1:关键字:网站架设、架站…以上两个网页,每月从搜寻引擎导入自然流量,达2万4千:每月「有机搜...

日期:2020-10-30 17:23:57 浏览:1296