Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

When a file with the .xml extension has been uploaded on my blog (via the Add Media uploader) I would like to automatically replace some attributes.

For example, if I upload a file with this content:

<content creator="foo"></content>

I would like that Wordpress modifies it automatically in:

<content creator="bar"></content>

What hook should I use and how?

share|improve this question

1 Answer 1

up vote 1 down vote accepted

You can do this using the wp_handle_upload hook:

http://adambrown.info/p/wp_hooks/hook/wp_handle_upload?version=3.4&file=wp-admin/includes/file.php

Create a function and add it to this hook so it runs last, it will be passed an array. The array contains the location of the newly uploaded file:

add_filter('wp_handle_upload','wpse_66775_handle_upload',1000,1);
function wpse_66775_handle_upload($args){
    $filename = $args['file'];
    $type = $args['type'];
    // test if it's an XML file and do some work on it
    if(the file is an xml file){
        super_magic_xml_file_modifier($filename);
    }
    return $args;
}

function super_magic_xml_file_modifier($filename){
    // General PHP/XML stuff that doesn't belong on WPSE
}

Modifying the XML file etc, is another task that is not within the scope of this site.

share|improve this answer
    
A little note that may be useful to those who read this post in the future: the wpse_66775_handle_uploadfunction must return $args. –  User Oct 1 '12 at 13:43

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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