Data Validation in wordpress

时间:2020-11-04 作者:sahan

在我的主题中,我使用get\\u option()获取用户输入,并根据该输入声明一个新变量并打印在我的单张中。php文件。例如:

<?php
$tutorial_condition = get_option( \'tutorials_creater\' );

if ( $tutorial_condition == 1 ) {
    $second_col_class = \'col-9\';
} else {
    $second_col_class = \'col-2\';
}
?>

现在,当我在php文件中回显$second\\u col\\u class变量时,效果很好。但当我运行themecheck插件时,它会显示这样一个错误。

"E;发现可能的数据验证问题。对于呈现的上下文,必须正确转义所有动态数据"E;

我想像下面这样回应这个变量。

 <div class="<?php echo $second_col_class; ?>">
     //my code here..
 </div>

我不能使用isset()函数,因为它只返回true或false。有没有其他选择?

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

请参见this Codex article 对于进一步的指导,但在您的情况下,您可以使用esc_attr() 逃离$second_col_class HTML属性中正在使用的值,即class:

<!-- bad -->
<div class="<?php echo $second_col_class; ?>">

<!-- good -->
<div class="<?php echo esc_attr( $second_col_class ); ?>">

<!-- good -->
<div class="<?php esc_attr_e( $second_col_class, \'text-domain\' ); ?>">

相关推荐

Data Validation

我使用Wordpress作为CMS,并有一个签出页面,其中信息通过$wpdb->插入插入插入db。我有两个问题:“sql注入”已经是该函数的一部分了,还是我需要添加自己的代码</是否有wordpress表单输入验证功能可用于自定义表单