我想把Welcome to %s
和Thanks for creating account on %1$s
分开,使它们分别出现在单独的行中。
当翻译RTL
站点上的短语时,它们目前被挤在一起/混乱。
protected function send_account_email( $user_data, $user_id ) {
$to = $user_data['user_email'];
$subject = sprintf( esc_html__( 'Welcome to %s', 'my-plugin' ), get_option( 'blogname' ) );
$body = sprintf( esc_html__( 'Thanks for creating account on %1$s. Your username is: %2$s ',
'my-plugin' ), get_option( 'blogname' ), $user_data['user_login'] );
}
你需要一个"换行";把他们分开!您可以使用html
标记,如:
br
标签p
标签h1
标签
只是举几个例子!
但是你正在使用esc_html__
来翻译和转义html
。为什么需要使用esc_html__
从数据库中检索博客的名称?为什么?
话虽如此,您可以同时对translate
和escape unwanted html
使用白名单技术。
使用wp_kses
,你可以定义一个"白名单"。为允许的html
标签,并转义其余的。
你可以阅读更多关于它:
wp_kses
Docs
和
这篇关于html标签白名单的文章
你的代码应该是这样的:
使用<br>
标签:
protected function send_account_email( $user_data, $user_id ) {
$whitelist_tags = array(
'br' => array(),
);
$to = $user_data['user_email'];
$subject = sprintf(wp_kses(__('Welcome to %s <br>', 'my-plugin'), $whitelist_tags), get_option( 'blogname' ));
$body = sprintf( esc_html__( 'Thanks for creating account on %1$s. Your username is: %2$s ',
'my-plugin' ), get_option( 'blogname' ), $user_data['user_login'] );
}
或者使用<p>
标签:
protected function send_account_email( $user_data, $user_id ) {
$whitelist_tags = array(
'p' => array()
);
$to = $user_data['user_email'];
$subject = sprintf(wp_kses(__('<p>Welcome to %s </p>', 'my-plugin'), $whitelist_tags), get_option( 'blogname' ));
$body = sprintf( esc_html__( 'Thanks for creating account on %1$s. Your username is: %2$s ',
'my-plugin' ), get_option( 'blogname' ), $user_data['user_login'] );
}
或者使用<h1>
标签:
protected function send_account_email( $user_data, $user_id ) {
$whitelist_tags = array(
'h1' => array(),
);
$to = $user_data['user_email'];
$subject = sprintf(wp_kses(__('<h1>Welcome to %s </h1>', 'my-plugin'), $whitelist_tags), get_option( 'blogname' ));
$body = sprintf( esc_html__( 'Thanks for creating account on %1$s. Your username is: %2$s ',
'my-plugin' ), get_option( 'blogname' ), $user_data['user_login'] );
}
注意:
$whitelist_tags
是一个数组,所以你可以给它添加多个标签!- 另外,我只在
$subject
变量中使用了这些标签,如果需要,您也可以在$body
变量中使用确切的技术! - 我还使用
__()
与wp_kses
而不是esc_html__
的组合,以translate
和escape unwanted html
!