如何将esc_attr__与自定义翻译功能一起使用?

时间:2014-12-27 作者:Knott

我只是做了一个内置的翻译功能,帮助用户从主题选项中翻译他们的主题。

通常我的功能工作得很好,如下所示:

<?php _e( \'No Comments\', \'mytextdomain\' ); ?>
成为:

<?php echo __myfunction( \'no_comments\' ); ?>
我的问题与esc_attr__ 我被困在这里。。。使用自定义翻译函数,以下代码应该是什么样子?

esc_attr__( \'No Comments\', \'mytextdomain\' )
我应该把翻译功能放在哪里__myfunction ? 以下代码是否正确?

esc_attr__myfunction( \'no_comments\' )
谢谢

2 个回复
最合适的回答,由SO网友:cybmeta 整理而成

当函数返回翻译后的字符串时,可以将翻译函数作为参数传递给esc_attr()esc_attr_e():

esc_attr__( __myfunction( \'no_comments\' ) );
esc_attr_e( __myfunction( \'no_comments\' ) );
但是esc_attr__()esc_attr_e() 将执行您不需要的翻译任务,因为您可以自己处理翻译,所以我认为最好使用esc_attr() 仅限:

esc_attr( __myfunction( \'no_comments\' ) );
以及

echo esc_attr( __myfunction( \'no_comments\' ) );

SO网友:Mayeenul Islam

您可以使用esc_attr_e():

esc_attr_e( $text, $domain )
显示为在属性中安全使用而转义的翻译文本。编码< > & " \' (小于、大于、与号、双引号、单引号)。不会对实体进行双重编码

结束

相关推荐

Custom metabox translation

我已经创建了一个自定义的帖子类型,并添加了一些自定义的元数据库,现在我想知道我在我的网站上使用了什么样的翻译插件?我对它们都没有经验,所以我不知道谁会支持我的自定义元数据库,谁不会。