wordpress - 如何在 woocommerce 注册表单中添加上传个人资料图片字段
问题描述
我正在尝试在我的 woocommerce 注册表单中添加一个新功能。我已经添加了一些字段,并且都运行良好。现在,我想再添加一个字段来上传个人资料图片,但没有这样做。我已经在functions.php上试过了:
add_action('woocommerce_register_form','display_upload_option');
function display_upload_option()
{
?> <p><input type="file" name="file-ul" accept="image/*" id="file-ul"></p> <?php
}
add_action('woocommerce_register_post', 'uploadFile' );
function uploadFile() {
require_once( ABSPATH . 'wp-admin/includes/image.php' );
require_once( ABSPATH . 'wp-admin/includes/file.php' );
require_once( ABSPATH . 'wp-admin/includes/media.php' );
$attachment_id = media_handle_upload( 'file-ul', 0 );
}
当我添加此代码时,会显示一个上传图像的字段并且它也选择文件但是当单击注册按钮时,图像不会存储在任何地方。
请帮帮我。提前致谢
解决方案
您需要更改表单 enctype 以使用户能够上传文件:
//add enctype multipart form to the edit account form
add_action('woocommerce_edit_account_form_tag',function(){echo 'enctype= "multipart/form-data"';});
//Also you need do so for registration form
add_action('woocommerce_register_form_tag',function(){echo 'enctype= "multipart/form-data"';});
推荐阅读
- javascript - 如何将两个数组合并为一个数组的两个对象
- .net-core - StreamReader 上的 EnableRewind 和 leaveOpen 不会停止处理请求
- django - 姜戈。如何为当前用户编写过滤器?
- python-3.x - 如何使用 curl 发布 python 变量?
- javascript - 根据 ID 更改图像源
- symfony - Symfony:在链配置的命名空间中找不到类 XYZ
- windows - poolmon负数是什么意思?
- java - 无法从 JSF Java Web 应用程序插入 Oracle 数据库
- angular - Keycloak:Angular 6 将 XMLHttpRequest 发送到 SpringBoot 后端的 CORS 问题
- css - 以角度显示播放/暂停按钮