Сначала вам нужно будет создать каталог под wp-контентом. Давайте назовем это wp-content / xmlimages /
Теперь скопируйте этот код и вставьте его в wp-content / plugins / cr-attachmentpost2xml.php:
<?php
/*
Plugin Name: CR Attachment Post To XML
Plugin URI: http://bayu.freelancer.web.id/search/plugin
Description: Automatically create XML files for each post that list post attachment of that particular post.
Version: 0.1
Author: Arief Bayu Purwanto
Author URI: http://bayu.freelancer.web.id/
*/
add_action('publish_post', 'cr_attachmentpost2xml_publish_post_hook');
//add_action('admin_menu', 'cr_attachmentpost2xml_test');
function cr_attachmentpost2xml_publish_post_hook( $post_id ){
__cr_attachmentpost2xml_impl( $post_id );
return $post_id;
}
function cr_attachmentpost2xml_test(){
__cr_attachmentpost2xml_impl( 738 );
}
function __cr_attachmentpost2xml_impl( $post_id ){
$udir = wp_upload_dir();
$writepath = $udir['basedir'] . '/xmlimages/';
$attachment = get_children( 'post_type=attachment&post_parent=' . $post_id);
if(wp_is_post_revision($postId)) return $post_id;
//print_r($attachment);
$xml = "<?xml version=\"1.0\"?>";
$xml .= "<attachments>";
foreach($attachment as $att){
$image_src = wp_get_attachment_image_src( $att->ID );
$xml .= "<attachment>";
$xml .= "<id>{$att->ID}</id>";
$xml .= "<date>{$att->post_date}</date>";
$xml .= "<title>{$att->post_title}</title>";
$xml .= "<mime_type>{$att->post_mime_type}</mime_type>";
$xml .= "<url>".$image_src[0]."</url>";
$xml .= "</attachment>";
}
$xml .= "</attachments>";
file_put_contents($writepath . $post_id . ".xml", $xml);
//echo "$xml";
}
ПРЕДУПРЕЖДЕНИЕ : Не исключайте чего-то особенного здесь, поскольку это просто быстрый и грязный код. Надеюсь, это сработает так, как вам нужно, и если вы все же используете этот код, не забудьте проверить, нет ли в нем дыры в безопасности.