我的意见是你不会的。wc_price()
和$product->get_image()
都逃到了更远的上游。在PHPC的WordPress编码标准嗅探中,这些被称为“自动转义函数”。
通过推杆进行双重逃逸wp_kses_post()
对于已经逃逸的所有内容,仅仅为了满足代码嗅探,是对资源的浪费,实际上没有做任何事情来解决嗅探应该首先解决的问题。
PHPC之所以标记这些行(即使它们已转义),是因为WP编码标准不知道第三方功能。如果您的项目正在使用它们,或者有自己的自动转义函数,则应配置项目规则以覆盖它们。例如,将其添加到项目中phpcs.xml
文件将阻止PHPC抱怨wc_price()
无论在何处使用,都不会逃脱:
<rule ref="WordPress.Security.EscapeOutput">
<properties>
<property name="customAutoEscapedFunctions" type="array" value="wc_price,"/>
</properties>
</rule>
customAutoEscapedFunctions
不支持类方法,因此要满足
$product->get_image();
您可以使用内联注释:
$product_img = $product->get_image();
echo $product_img; // phpcs:ignore WordPress.Security.EscapeOutput