0

我有以下代码:

<a href="<?php echo esc_url( esc_attr( get_month_link( get_the_time('Y'), 
get_the_time('m') ) ) ); ?>"><?php the_time( get_option( 'date_format' )  ); ?></a>

我的问题是:我是否做了很多不必要的转义,因为如您所见,我正在使用 esc_url()esc_attr(). 这可能是矫枉过正吗?谢谢!!

4

1 回答 1

2

总结一下:IMO你不需要转义esc_attr(因为你的URL不会包含它转义的字符)并且esc_url也没用(因为我认为返回的URLget_month_year不需要被清理 - 它不是用户输入) .

然后?只需将它们都删除:

<a href="<?php echo get_month_link( get_the_time('Y'), get_the_time('m') ); ?>"><?php the_time( get_option( 'date_format' )  ); ?></a>

当然,如果您不“信任”get_month_year参数验证,您可以保留 esc_url(但让我说这可能有点过于偏执了)。

于 2013-11-06T12:32:00.757 回答