WordPress 2.0 的 Photocast

之前曾經提到,WordPress 2.0提供一項所謂的行內上傳(inline upload)功能,可以在發表文章的時候,同時上傳照片,而上傳的照片會被視為是文章的附件,也提到了如果想要在網頁上呈現「隨機照片」的作法。

而 Apple 在 iLife’06 版本的 iPhoto 當中,提供了一項新功能,叫做 Photocast ,原理是 iPhoto 可以訂閱包含照片資料的 RSS 或 Atom,在對方網佔有任何更新的時候,可以立刻將遠端的照片抓取到 iPhoto 的像本中,在網路上可以看到許多人在討論蘋果的 RSS 格式相關問題,例如 The wonderful world of Apple RSS …等。此外,Flickr 所產生的 Atom ,也可以順利以 Photocast 方式,讀入到 iPhoto 中。

姑且不論 Apple 在新版 iPhoto 中所制定的 RSS 如何破壞原本的 RSS 規格這方面的問題,既然我們知道怎樣從 WordPress 中選取照面列表,我們也知道了 Apple 的 RSS 格式,那麼只要稍微改一改原本的程式,我們就可以在 WordPress 中做到 Photocast 功能。程式碼如下,只要把程式碼存成一個 PHP 文字檔案(例如 wp-photocast.php),然後存入到 WP 安裝目錄,然後就可以用 http://example.com/wp-photocast.php 這樣的位置,訂閱照片了。

需要注意一件事情:如果在伺服器端設了「防止他人盜連圖片」這樣的設定,會造成 iPhoto 無法正常下載圖片,而 iPhoto 會因為以為沒有正確輸入帳號密碼,而不斷跳出帳號輸入視窗。


'; ?>

get_results("SELECT ID, post_date, post_title, guid, post_parent FROM $wpdb->posts WHERE post_status = 'attachment' AND left(post_mime_type, 5) = 'image' ORDER BY ID DESC LIMIT 10", ARRAY_A);
foreach ( $images as $key => $image ) {
$attachment_ID = $image['ID'];
$meta = get_post_meta($attachment_ID, '_wp_attachment_metadata', true);
$image = array_merge($image, $meta);
if ( ($image['width'] > 128 || $image['height'] > 96) && !empty($image['thumb']) && file_exists(dirname($image['file']).'/'.$image['thumb']) ) {
$src = str_replace(basename($image['guid']), '', $image['guid']) . $image['thumb'];
$images_script .= "src".$attachment_ID."a = '$src';\nsrc".$attachment_ID."b = '".$image['guid']."';\n";
$thumb = 'true';
$thumbtext = $__thumbnail_on;
} else {
$src = $image['guid'];
$thumb = 'false';
$thumbtext = $__no_thumbnail;
}
echo "\n";
echo "".$image['post_title']."\n";
echo "".$image['guid']."\n";
echo "\n";
{
echo "<p><a href=\"".$image['guid']."\" title=\"".$image['post_title']."\">";
echo "<img src=\"".$src ."\" alt=\"".$image['post_title']."\" style=\"float:left; padding-right:10px; padding-bottom:10px;\"";
echo " /></a></p><br clear=\"all\" />";
}
echo "
\n";
$date = mysql2date('D, d M Y H:i:s +0000', $image['post_date'], false);
echo "".$date."\n";
echo "".$date."\n"; echo "".$src."";
echo "".$image['guid']."";
echo "".$image['guid']."\n";
echo "
\n";
}
}
?>


>


<?php bloginfo_rss('name'); ?> http://wordpress.org/?v=

0.9




2 thoughts on “WordPress 2.0 的 Photocast

  1. Pingback: 游戏:云和钟 » Blog Archive » 乏味的生活?(2.11-18)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.