0

with the code from this question:

run ok, but I need add one input line to write the title of the file attach and save this title in media when upload this file.

1 Answer 1

1

First add to your for the new input field:

<form id="file-form" enctype="multipart/form-data" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="POST">
    <p id="async-upload-wrap">
        <label for="async-upload">upload</label>
        <input type="file" id="async-upload" name="async-upload"> <input type="submit" value="Upload" name="html-upload">
    </p>
    <p id="image_title">
        <label for="image_title">Image Title</label>
        <input type="text" id="image_title" name="image_title" value="">
    </p>
    <p>
        <input type="hidden" name="post_id" id="post_id" value="<?php echo $post_id ?>" />
        <?php wp_nonce_field('client-file-upload'); ?>
        <input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>" />
    </p>
    <p>
        <input type="submit" value="Save all changes" name="save" style="display: none;">
    </p>
</form>

then after you save the image and get an attachment id you can update the attachment metadata:

if ($_FILES) {
    foreach ($_FILES as $file => $array) {
        $newupload = insert_attachment($file,$post_id);
        //get the meta data of the attachment 
        $meta = wp_get_attachment_metadata( $newupload);
        //set the title
        $meta['image_meta']['title'] = wp_kses($_POST['image_title']);
        //update the attachment with the new title.
        wp_update_attachment_metadata($newupload,$meta);
    }
}
1
  • I used this code and file is upload but the title is equal to filename.
    – Fontepink
    Sep 19, 2011 at 8:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.