At WP Front-end I create a upload form for users.
That form has three input fields (title, tags and upload).
So I want to add "Title - Tag - file_name" as alt
attribute for images during the file upload.
How can I do with my code below?
if ($gui == 'upload') {
if (!function_exists('wp_generate_attachment_metadata')){
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . "wp-admin" . '/includes/media.php');
}
if ($_FILES) {
foreach ($_FILES as $file => $array) {
if ($_FILES[$file]['error'] !== UPLOAD_ERR_OK) {
return "Upload Err: " . $_FILES[$file]['error'];
}
$attach_id = media_handle_upload( $file, $newPost );
}
}
if ($attach_id > 0){
//and if you want to set that image as Post then use:
update_post_meta($newPost,'Uploaded_Image_ID',$attach_id);
}
}
At WP Front-end I create a upload form for users.
That form has three input fields (title, tags and upload).
So I want to add "Title - Tag - file_name" as alt
attribute for images during the file upload.
How can I do with my code below?
if ($gui == 'upload') {
if (!function_exists('wp_generate_attachment_metadata')){
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . "wp-admin" . '/includes/media.php');
}
if ($_FILES) {
foreach ($_FILES as $file => $array) {
if ($_FILES[$file]['error'] !== UPLOAD_ERR_OK) {
return "Upload Err: " . $_FILES[$file]['error'];
}
$attach_id = media_handle_upload( $file, $newPost );
}
}
if ($attach_id > 0){
//and if you want to set that image as Post then use:
update_post_meta($newPost,'Uploaded_Image_ID',$attach_id);
}
}
Share
Improve this question
edited Jul 11, 2013 at 15:10
fuxia♦
107k38 gold badges255 silver badges459 bronze badges
asked Jul 11, 2013 at 10:54
Zen NguyễnZen Nguyễn
474 silver badges11 bronze badges
2
|
1 Answer
Reset to default 1The alt
text is stored in the postmeta database table by WordPress, therefore we have to update the postmeta of the given attachment. The reference is done via the unique attachment ID, and the meta_key
we are targeting is the _wp_attachment_image_alt
.
So, to set the alt
text, we can do the following:
update_post_meta($attach_id, '_wp_attachment_image_alt', 'Your alt text');
https://developer.wordpress.org/reference/functions/update_post_meta/
admin_url()
. Second, how exactly is thealt
-HTML tag displayed? Does it come from caption, or something else? HInt: There's noalt
-Tag in the meta data. – kaiser Commented Jul 11, 2013 at 11:11alt
attribute must be a meaningful, functional replacement for an image. File names are the opposite. – fuxia ♦ Commented Jul 11, 2013 at 15:11