清理UPDATE_POST_META的整数输入 时间:2014-11-13 作者:asam 当更新输入始终为整数的post meta时,我应该使用(int) 或者是否有WordPress功能(例如。sanitize_text_field)?例如:if(isset($_POST[\'category_id\'])){ update_post_meta($post->ID, \'category_id\', (int)($_POST[\'category_id\'])); } 3 个回复 SO网友:Marcin 对于整数,KSES没有特殊的函数。使用(int) 或intval() 或absint()查看更多信息:Data Validation - Integers SO网友:Annapurna &safe_id = intval( $_POST[\'category_id\'] ); if ( ! $safe_id ) { $safe_id = \'\'; } update_post_meta( $post->ID, \'category_id\', $safe_id ); 函数的作用是:将用户输入转换为整数,如果输入是非数值,则默认为零。然后检查该值是否最终为零。如果有,我们将向数据库保存一个空值。否则,我们将保存正确验证的category\\u id。 SO网友:iyrin 使用条件语句检查$_POST[\'category_id\']) 首先是整数。PHP函数是is_int()1if(isset($_POST[\'category_id\']) && is_int($_POST[\'category_id\'])){ update_post_meta($post->ID, \'category_id\', $_POST[\'category_id\']); } 您还应该在$\\u POST数据上删除空白,因为is_int() 如果字符串有空格,将返回false2. 结束 文章导航