`esc_attr`和`_e`有什么区别?

时间:2017-10-01 23:19:49

标签: php wordpress woocommerce escaping

我目前正在扩展对WordPress,PHP和WooCommerce的理解。

作为我学习的一部分,我采用了一个电子商务主题,我正在那里玩它'。它选择的电子商务平台是WooCommerce。

主题为cart.php模板创建了一个覆盖。此文件目前已过期。根据我的学习曲线,我自己更新文件。

在更新cart.php文件的同时,我注意到WooCommerce默认模板有以下行:

<td class="product-name" data-title="<?php esc_attr_e( 'Product', 'woocommerce' ); ?>">

虽然主题的替换线是:

<td class="product-name" data-title="<?php _e( 'Product', 'theme-name' ); ?>">

如您所见,WooCommerce的默认模板具有esc_attr_e条目,而主题具有_e条目。它们是否可以互换?因此,我可以简单地使用主题条目覆盖默认值,还是它们有显着差异?

1 个答案:

答案 0 :(得分:1)

直接来自WordPress Codex:

https://codex.wordpress.org/Function_Reference/_e https://codex.wordpress.org/Function_Reference/esc_attr_e

_e() - 显示从translate()返回的翻译文本。

esc_attr_e() - 显示已转义以便在属性中安全使用的已翻译文本。编码&lt; &GT; &安培; “'(小于,大于,&符号,双引号,单引号)。永远不会对实体进行双重编码。