当用户使用WordPress中的密码重置功能时,会要求他们输入电子邮件并单击确认。这样做之后,他们得到的信息是:
检查电子邮件中的确认链接,然后访问登录页面。
我希望修改此消息,并且我已经找到了在wp登录中写入消息的代码行。php文件:
if ( \'confirm\' === $_GET[\'checkemail\'] ) {
$errors->add(
\'confirm\',
sprintf(
/* translators: %s: Link to the login page. */
__( \'Check your email for the confirmation link, then visit the <a href="%s">login page</a>.\' ),
wp_login_url()
),
\'message\'
);
}
在那里更改消息效果很好,但我认为一旦WordPress更新它就会被覆盖,这是正确的吗?如果是,我的问题是:
我是否可以使用一个可以放入主题功能中的功能来修改此消息。php文件,以便它不会被未来的WP更新覆盖?
能给我的新留言翻译一下吗?如果我在/wp-content/languages文件夹中编辑翻译文件,我假设它也会被更新覆盖?
最合适的回答,由SO网友:Q Studio 整理而成
如果没有过滤器来更改内容,另一个选项是添加一个连接到的函数gettext - 例如:
/**
* Change text strings
*
* @link http://codex.wordpress.org/Plugin_API/Filter_Reference/gettext
*/
function wpse_382257_text_strings( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case \'Check your email for the confirmation link, then visit the login page.\' :
$translated_text = __( \'SOMETHING ELSE\', \'text-domain\' );
break;
case \'Another\' :
$translated_text = __( \'Whatever..\', \'text-domain\' );
break;
}
return $translated_text;
}
add_filter( \'gettext\', \'wpse_382257\', 20, 3 );
参考号:
https://developer.wordpress.org/reference/hooks/gettext/