« | »

08月04日 

Wordpress

Wordpressで記事に投稿した画像一覧をProgression用のXMLで出力

ラーメン屋のネタを華麗にスルーしつつ、タイトルの長すぎるエントリーです。
しかも解説無しという暴挙!読者をなんだと思ってるんだ!

Wordpressで記事に投稿した画像一覧をProgression用のXMLで出力するためのテンプレートです。
(元ネタはこちらを参考にさせて頂きました。深謝)

PHP:
  1. <?php /*
  2. Template Name: scenedataXML
  3. */ ?>
  4. <?php header('Content-Type: text/xml; charset='.get_option('blog_charset'), true); ?>
  5. <?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
  6. <?php echo '<prml version="2.0.0" type="text/prml">'; ?>
  7.  
  8. <?php query_posts("order=DESC"); ?>
  9. <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
  10. <?php
  11.     $d = the_date('Y-m-d', '', '', '', false);
  12.     $attachments = get_children(array('post_parent' => get_the_ID(), 'post_type' => 'attachment', 'post_mime_type' => 'image'));
  13.     if ( is_array($attachments) ){
  14.         foreach ($attachments as $key => $row) {
  15.             $mo[$key]  = $row->menu_order;
  16.             $aid[$key] = $row->ID;
  17.         }
  18.         array_multisort($mo, SORT_ASC,$aid,SORT_DESC,$attachments);
  19.         foreach ($attachments as $row => $data) {
  20.             preg_match('/src="(.*?)"(.*?)title="(.*?)"/ie', wp_get_attachment_image($data->ID, 'thumbnail'), $thumb);
  21.             preg_match('/src="(.*?)"(.*?)title="(.*?)"/ie', wp_get_attachment_image($data->ID, 'full'), $image);
  22. ?>
  23. <scene name="<?php echo the_title(); ?>" cls="myproject.scenes.ImageScene" title="<?php echo $image[3]." | ";the_title(); ?>">
  24. <num><?php echo $image[3]; ?></num>
  25. <cap><?php echo $image[3]; ?></cap>
  26. <thumb><?php echo $thumb[1]; ?></thumb>
  27. <path><?php  echo $image[1]; ?></path>
  28. <date><?php echo $d; ?></date>
  29. <category><?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->cat_name;} ?></category>
  30. </scene>
  31. <?php
  32.         }
  33.     }
  34. ?>
  35. <?php endwhile; endif; ?>

Progressionはプログラミングの知識がなくても柔軟且つ簡単ににフルフラッシュサイトを作れる工夫が成されてる割に、細かいことをやろうとしたら意外に奥が深いフレームワークです。ちょっと世界観の把握に苦労した。

あとはこの出力されたXMLをProgressionで読んで、Papervision3Dと絡めて…

という実験的勉強を、クライアントからの連絡をずーっと待ちながらイヂけつつやっている梅雨が明けたある暑い夏の日。

コメント & トラックバック

ナカナカ興味深い内容ですね~

ぼくが実践するにはまだまだ時間がかかりそうです。

> さいとーさん
紹介した割に分かってないんじゃアレなんで、ちょっと勉強のつもりが…

Progression、便利すぎです。

コメントフィード

コメント