我与theme Odin框架的开发合作,该框架有几个类可以利用从头开始的站点启动。其中,我们有abstract-front-end-form.php (link to function line), 为前端准备表单字段,以及class-contact-form.php 创建简单有效的联系方式。
我的朋友们收养了media_handle_upload 用于文件类型字段的函数。问题是,默认情况下,它是强制性的,我们希望它以可选的形式出现。但通过提交带有空“文件”字段的表单,它会返回错误“未上载任何文件”这是media\\u handle\\u upload函数的本机验证。
我发现跳过此验证的一种方法是调整错误字符串。
if ( is_wp_error( $attachment_id ) && $attachment_id->get_error_message() !== \'No file was uploaded.\' ) ) {
$error = apply_filters( \'odin_front_end_form_upload_error_\' . $this->id, sprintf( \'%s %s.\', \'<strong>\' . $this->get_field_label( $id ) . \'</strong>\', $attachment_id->get_error_message() ) );
$this->set_errors( $error );
} else {
...
}
所以我可以用空的
file
字段(可选)。
我们很可能会采用这种解决方案,但它似乎有点模糊,因为在WP核心更新中,可以修改这些上载错误字符串。
如果有人知道我不需要使用插件或功能,我会感激他们的想法。