Questions tagged «validation»

2
插件在哪种情况下负责数据验证/清理?
我想确保插件/主题中的所有数据在进入数据库之前以及输出到浏览器之前都得到安全处理。我的问题是,在某些情况下,API会为您处理清理操作(例如,保存帖子元字段时),而在某些情况下,插件/主题作者将全权负责清理操作(例如,保存自定义设置时)。 对于此问题的范围,我不关心在域级别验证数据-例如,检查表单上的Age字段是否在0到120之间,或电子邮件地址是否有效。我只关心安全性-例如,转义SQL查询以避免在保存到数据库时进行SQL注入,或者清除输出到HTML模板的数据以避免XSS。 为了进行输出清理,我知道在将变量回显到HTML模板中时,您总是需要使用esc_html()和之类的函数esc_attr()。但是,使用模板标签时呢?他们都已经清理输出了吗?如果是这样,则针对哪个上下文(常规HTML,标记属性等)?某些函数具有针对不同上下文的变体(例如the_title_attribute(),但大多数没有)。 为了进行输入清理,我知道$wpdb->prepare()在进行手动查询时需要使用,但是在使用Settings API创建插件设置页面或为自定义帖子类型保存帖子元字段时该怎么办? 现在,每当我使用一个函数来查找它是否可以清除时,我就一直在深入研究Core并阅读教程,但这很容易出错并且很耗时。我希望找到所有可能情况以及API是否处理的全面列表。例如, API验证/清除 使用 update_postmeta() 保存用户元 update_user_meta() 输出帖子标题-使用上下文相关的变体 the_title() 等等 您必须手动验证/消毒 使用Settings API保存插件选项。将回调作为的第3个参数传递register_setting()。 直接数据库查询:将查询包装在中$wpdb->prepare()。 以HTML输出变量。使用esc_attr(),esc_html()等 等等 我也很想了解为什么在某些情况下API提供了它,而在其他情况下却没有。我假设它与数据的未知性质有关,但希望听到一个详尽的解释。

12
从WordPress添加的脚本和样式标签中删除类型属性
Warning: The type attribute is unnecessary for JavaScript resources. From line 10, column 146; to line 10, column 176 feed/" /> <script type="text/javascript">window Warning: The type attribute for the style element is not needed and should be omitted. From line 11, column 1798; to line 11, column 1820 </script> <style …

4
如果元数据字段无效,则不要发布自定义帖子类型的帖子
我有一个名为的自定义帖子类型(CPT)event。我有一个带有几个字段的类型的元框。我想在发布事件之前验证一些字段。例如,如果未指定事件的日期,则我想显示一条提示性的错误消息,请保存该事件以供将来编辑,但禁止发布该事件。没有所有必要信息的CPT帖子的“待处理”状态是否是正确的处理方式? 进行CPT字段验证并阻止发布帖子的最佳做法是什么,但是将其保存以备将来编辑。 非常感谢,达莎

3
如何在自定义菜单页面上实现add_settings_error?
《专业WordPress插件开发》一书详细说明了如何正确使用Settings API,还演示了如何添加菜单和子菜单,但不幸的是,它没有提供任何此类示例。尽管我设法使其中的大部分工作正常进行,但我仍无法弄清楚如何在自定义菜单页面上正确实现add_settings_error。这是我的代码: function settings_main_validate( $input ) { $valid['text_string'] = preg_replace( '/[^a-zA-Z]/', '', $input['text_string'] ); if ( $valid['text_string'] != $input['text_string'] ) { //add_setting_error: $title, $id, $error_message, $class add_settings_error( 'fields_main_input', 'texterror', 'Incorrect value entered!', 'error' ); } return $valid; } 上面的验证在使用渲染设置时效果很好add_options_page,但在使用渲染的页面上不会显示设置错误add_menu_page。

3
用于验证自定义metabox的示例代码?
在该网站或Google搜索中,关于验证metabox自定义字段的示例的信息很少。 如果有人想举一些例子,这是一些有用的例子 1)输入的日期为2011年5月 2 日为有效日期格式2)在文本框中输入的数字是数字,介于100到500之间 3)在文本框中输入的文本长度> 25个字符 我的问题不是验证字段的代码,而是将验证代码放在哪里?使用Java还是PHP?如果它挂在保存帖子上,那么用于验证失败的技术-更新帖子?不更新帖子?-如何停止更新?通知用户问题的最佳方法。 所有建议表示赞赏。样本代码不仅仅是对一种技术的描述,而且更有帮助。(对于某人来说,这是一个很好的话题。)谢谢
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.