esc_attr() right way and use

时间:2017-02-27 作者:Owaiz Yusufi

首先,我想告诉大家,我是新来的wordpress,不是很新,但有两个月了。我的问题是:-

使用esc\\u attr()正确吗?我现在使用的正确方法是正确还是错误

function dr_enable_and_disable_header() {

  $options = get_option( \'custom_header\' );
  $checked = ( isset($options) && $options == 1 ? \'checked\' : \'\');
  echo \'<lable><input type="\' . esc_attr(\'checkbox\') . \'" id="\' . esc_attr(\'custom_header\') . \'" name="\' . esc_attr(\'custom_header\') . \'" value="\' . esc_attr(\'1\') . \'" \'. $checked .\'> Activate Custom Header</lable>\';

}  

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

不,你不需要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>\';

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请