不,你不需要esc_attr()
用于打印固定静态文本的函数。
您只需要打印出动态或生成的文本,这样,如果属性有任何特殊字符,可能会破坏HTML,esc_attr
会很好地逃脱。
在您的特定情况下,您可以只写:
echo \'<label><input type="checkbox" id="custom_header" name="custom_header" value="1" \'. $checked .\'> Activate Custom Header</label>\';
然而,如果您有任何生成的或用户输入的文本,那么您应该使用
esc_attr()
. 例如:
$style = "__Some generated text from database or user input__";
echo \'<label><input type="checkbox" id="custom_header" name="custom_header" value="1" \'. $checked .\' style="\' . esc_attr($style) . \'"> Activate Custom Header</label>\';