首页 > 解决方案 > 如何在 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 );
    }

当我添加此代码时,会显示一个上传图像的字段并且它也选择文件但是当单击注册按钮时,图像不会存储在任何地方。

请帮帮我。提前致谢

标签: wordpresswoocommerce

解决方案


您需要更改表单 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"';});

推荐阅读