WordPress自定义文章类型student前端表单分类法与特色图片保存问题
问题修复方案
你当前特色图片无法保存的核心原因是前端表单缺少文件上传必需的配置,同时建议添加上传失败的异常判断避免报错,具体修改如下:
1. 修复前端表单标签
文件上传表单必须添加enctype="multipart/form-data"属性,否则浏览器不会传输文件数据到后端。找到你的form标签,修改为:
<form id="new_post" name="new_post" method="post" enctype="multipart/form-data">
2. 优化后端图片上传逻辑,添加错误判断
原代码直接使用media_handle_upload的返回值设置特色图,如果上传失败(比如文件格式不对、大小超限)会抛出异常,修改singul_save_post_if_submitted函数里的图片上传部分代码:
// Let WordPress handle the upload. // Remember, 'user-image-featured' is the name of our file input in our form above. $attachment_id = media_handle_upload( 'user-image-featured', $post_id); // 先判断上传是否成功 if ( !is_wp_error( $attachment_id ) ) { set_post_thumbnail( $post_id, $attachment_id ); } else { // 调试阶段可以开启下方代码查看具体报错原因 // echo '图片上传失败:' . $attachment_id->get_error_message(); }
可选校验项
如果修改后还是无法上传,可检查以下配置:
- WordPress后台「设置」-「媒体」里的上传大小限制是否大于你上传的图片
- 站点
wp-content/uploads目录是否有写入权限 - 检查你上传的图片格式是否为WordPress支持的jpg/png/gif/webp等常规格式
内容的提问来源于stack exchange,提问作者Mahbul Alam
相关产品推荐
相关产品推荐

