Codesnipp.it Social Code Sharing

Amber Weinberg

Custom Tumblog/Lifestream Using SimplePie in WordPress

by Amber Weinberg on Jan 31, 2012

<?php /* Code can be found on github here https://github.com/amberweinberg/Tumblelog and an example can be seen here http://www.amberweinberg.com/tumblog/ how-to blog posts also coming in a few weeks*/ ?> <?php // Using WordPress's SimplePie RSS function // We'll call each feed and place into an array include_once(ABSPATH . WPINC . '/feed.php'); // Create the array $feed = array(); // Add tweets to feed. Twitter isn't using RSS foreach($tweets as $t): $t['type'] = 'Twitter'; $feed[ $t['time'] ] = $t; endforeach; // Add Dev Blog RSS Feed $rss = fetch_feed('http://www.amberweinberg.com/feed'); if (!is_wp_error( $rss ) ) : $maxitems = $rss->get_item_quantity(20); $rss_items = $rss->get_items(0, $maxitems); endif; if ($maxitems == 0) echo '<li>Gasp! There are no posts from my dev blog.</li>'; else foreach ( $rss_items as $item ) : $wp = array('type' => 'WP'); $wp['time'] = strtotime($item->get_date()); $wp['link'] = $item->get_link(); $wp['title'] = $item->get_title(); $feed[ $wp['time'] ] = $wp; endforeach; // Add Design Blog RSS Feed $rss2 = fetch_feed('http://www.amberweinberg.com/design/feed'); if (!is_wp_error( $rss2 ) ) : $maxitems2 = $rss2->get_item_quantity(20); $rss_items2 = $rss2->get_items(0, $maxitems2); endif; if ($maxitems2 == 0) echo '<li>Tsk tsk, someone forgot to do some writing on her design blog.</li>'; else foreach ( $rss_items2 as $item2 ) : $wp2 = array('type' => 'WP2'); $wp2['time'] = strtotime($item2->get_date()); $wp2['link'] = $item2->get_link(); $wp2['title'] = $item2->get_title(); $feed[ $wp2['time'] ] = $wp2; endforeach; // Add foursquare $rss3 = fetch_feed('http://feeds.feedburner.com/FoursquareCheckinHistoryForAmberW'); if (!is_wp_error( $rss3 ) ) : $maxitems3 = $rss3->get_item_quantity(20); $rss_items3 = $rss3->get_items(0, $maxitems3); endif; if ($maxitems3 == 0) echo '<li>No Foursquare updates? Well someone\'s been a hermit.</li>'; else foreach ( $rss_items3 as $item3 ) : $four = array('type' => 'foursquare'); $four['time'] = strtotime($item3->get_date()); $four['description'] = $item3->get_description(); $feed[ $four['time'] ] = $four; endforeach; // Add dribbble $rss4 = fetch_feed('http://dribbble.com/amberweinberg/shots.rss'); if (!is_wp_error( $rss4 ) ) : $maxitems4 = $rss4->get_item_quantity(20); $rss_items4 = $rss4->get_items(0, $maxitems4); endif; if ($maxitems4 == 0) echo '<li>No Dribbbles? Well pfff.</li>'; else foreach ( $rss_items4 as $item4 ) : $dribble = array('type' => 'dribbble'); $dribble['time'] = strtotime($item4->get_date()); $dribble['description'] = $item4->get_description(); $dribble['link'] = $item4->get_link(); $dribble['title'] = $item4->get_title(); $feed[ $dribble['time'] ] = $dribble; endforeach; // Add Github $rss5 = fetch_feed('http://atom2rss.semiologic.com/?atom=https%3A%2F%2Fgithub.com%2Famberweinberg.atom'); if (!is_wp_error( $rss5) ) : $maxitems5 = $rss5->get_item_quantity(20); $rss_items5 = $rss5->get_items(0, $maxitems5); endif; if ($maxitems5 == 0) echo '<li>No Github updates…someone\'s been a lazy coder!</li>'; else foreach ( $rss_items5 as $item5 ) : $github = array('type' => 'github'); $github['time'] = strtotime($item5->get_date()); $github['description'] = $item5->get_description(); $github['link'] = $item5->get_link(); $github['title'] = $item5->get_title(); $feed[ $github['time'] ] = $github; endforeach; // Add ravelry $rss6 = fetch_feed('http://www.ravelry.com/projects/amberweinberg.rss'); if (!is_wp_error( $rss6) ) : $maxitems6 = $rss6->get_item_quantity(20); $rss_items6 = $rss6->get_items(0, $maxitems6); endif; if ($maxitems6 == 0) echo '<li>No knitting projects? Get working!</li>'; else foreach ( $rss_items6 as $item6 ) : $ravelry = array('type' => 'ravelry'); $ravelry['time'] = strtotime($item6->get_date()); $ravelry['description'] = $item6->get_description(); $ravelry['link'] = $item6->get_link(); $ravelry['title'] = $item6->get_title(); $feed[ $ravelry['time'] ] = $ravelry; endforeach; // Add Instagram $rss7 = fetch_feed('http://followgram.me/amberweinberg/rss'); if (!is_wp_error( $rss7) ) : $maxitems7 = $rss7->get_item_quantity(20); $rss_items7 = $rss7->get_items(0, $maxitems7); endif; if ($maxitems7 == 0) echo '<li>Take some pictures already!</li>'; else foreach ( $rss_items7 as $item7 ) : $instagram = array('type' => 'Instagram'); $instagram['time'] = strtotime($item7->get_date()); $instagram['description'] = $item7->get_description(); $instagram['link'] = $item7->get_link(); $instagram['title'] = $item7->get_title(); $feed[ $instagram['time'] ] = $instagram; endforeach; // Add Pinterest $rss8 = fetch_feed('http://pinterest.com/amberweinberg/feed.rss'); if (!is_wp_error( $rss8) ) : $maxitems8 = $rss8->get_item_quantity(20); $rss_items8 = $rss8->get_items(0, $maxitems8); endif; if ($maxitems8 == 0) echo '<li>I can\'t believe she hasn\'t found anything to pin!</li>'; else foreach ( $rss_items8 as $item8 ) : $pinterest = array('type' => 'pinterest'); $pinterest['time'] = strtotime($item8->get_date()); $pinterest['description'] = $item8->get_description(); $pinterest['link'] = $item8->get_link(); $pinterest['title'] = $item8->get_title(); $feed[ $pinterest['time'] ] = $pinterest; endforeach; // Add Goodreads $rss9 = fetch_feed('http://www.goodreads.com/user/updates_rss/2891681?key=1c00babdd1f0475a0db712de99f3e6b99e927d97'); if (!is_wp_error( $rss9) ) : $maxitems9 = $rss9->get_item_quantity(20); $rss_items9 = $rss9->get_items(0, $maxitems9); endif; if ($maxitems9 == 0) echo '<li>I can\'t believe she hasn\'t found anything to pin!</li>'; else foreach ( $rss_items9 as $item9 ) : $goodreads = array('type' => 'goodreads'); $goodreads['time'] = strtotime($item9->get_date()); $goodreads['description'] = $item9->get_description(); $goodreads['link'] = $item9->get_link(); $goodreads['title'] = $item9->get_title(); $feed[ $goodreads['time'] ] = $goodreads; endforeach; /* Add lanyrd, you'll need to convert meetup's .ics file to RSS…I used Yahoo Pipes for this*/ $rss10 = fetch_feed('http://pipes.yahoo.com/pipes/pipe.run?_id=23883ead4a9fa9a34faddff69a89ddd5&_render=rss'); if (!is_wp_error( $rss10) ) : $maxitems10 = $rss10->get_item_quantity(20); $rss_items10 = $rss10->get_items(0, $maxitems10); endif; if ($maxitems10 == 0) echo '<li>Apparently I\'m not attending any events right now :(</li>'; else foreach ( $rss_items10 as $item10 ) : $lanyrd = array('type' => 'lanyrd'); $lanyrd['time'] = strtotime($item10->get_date()); $lanyrd['description'] = $item10->get_description(); $lanyrd['link'] = $item10->get_link(); $lanyrd['title'] = $item10->get_title(); $feed[ $lanyrd['time'] ] = $lanyrd; endforeach; // Add meetup $rss11 = fetch_feed('http://www.meetup.com/events/rss/6078908/05c220cb396b976238d428d0156569c7a1421ed8/going'); if (!is_wp_error( $rss11) ) : $maxitems11 = $rss11->get_item_quantity(20); $rss_items11 = $rss11->get_items(0, $maxitems11); endif; if ($maxitems11 == 0) echo '<li>Apparently I\'m not attending any meetups right now :(</li>'; else foreach ( $rss_items11 as $item11 ) : $meetup = array('type' => 'meetup'); $meetup['time'] = strtotime($item11->get_date()); $meetup['description'] = $item11->get_description(); $meetup['link'] = $item11->get_link(); $meetup['title'] = $item11->get_title(); $feed[ $meetup['time'] ] = $meetup; endforeach; // Add codesnippit $rss12 = fetch_feed('http://codesnipp.it/amberweinberg?rss'); if (!is_wp_error( $rss12) ) : $maxitems12 = $rss12->get_item_quantity(20); $rss_items12 = $rss12->get_items(0, $maxitems12); endif; if ($maxitems12 == 0) echo '<li>Apparently I\'m not attending any codesnippits right now :(</li>'; else foreach ( $rss_items12 as $item12 ) : $codesnippit = array('type' => 'codesnippit'); $codesnippit['time'] = strtotime($item12->get_date()); $codesnippit['description'] = $item12->get_description(); $codesnippit['link'] = $item12->get_link(); $feed[ $codesnippit['time'] ] = $codesnippit; endforeach; //Now sort them (Keys are timestamps) krsort($feed); ?> <?php include_once('twitter.php'); ?> <?php include_once('rss.php'); ?> <?php foreach ($feed as $i): ?> <li class="<?php echo $i['type']; ?>"> <span class="icon"></span> <?php if($i['type'] == 'Twitter') : ?> <?php echo $i['text']; ?> <?php elseif($i['type'] == 'WP' || $i['type'] == 'WP2' || $i['type'] == 'github') : ?> <?php echo '<a title="'.$i['title'].'" href="'.$i['link'].'">'.$i['title'].'</a>' ?> <?php elseif($i['type'] == 'foursquare') : ?> <?php echo 'Amber was '.$i['description'].'' ?> <?php elseif($i['type'] == 'dribbble' || $i['type'] == 'Instagram' || $i['type'] == 'ravelry') : ?> <?php echo '<a title="'.$i['title'].'" href="'.$i['link'].'">'.$i['title'] .$i['description'].'</a>' ?> <?php elseif($i['type'] == 'pinterest') : ?> <?php echo $i['description'] ?> <?php elseif($i['type'] == 'meetup') : ?> <?php echo '<a title="'.$i['title'].'" href="'.$i['link'].'">I RSVP\'d to'.$i['title'].'</a>' ?> <?php elseif($i['type'] == 'lanyrd') : ?> <?php echo 'I\'m attending <a title="'.$i['title'].'" href="'.$i['link'].'">'.$i['title'].'</a> on '.date('jS M Y', $i['time']) ?> <?php elseif($i['type'] == 'goodreads') : ?> <?php echo '<a title="'.$i['title'].'" href="'.$i['link'].'">'.$i['title'].'</a>' .$i['description'] ?> <?php elseif($i['type'] == 'codesnippit') : ?> <?php echo '<a title="'.$i['title'].'" href="'.$i['link'].'">'.$i['description'].'</a>' ?> <?php endif; ?> <span class="time"><?php echo date('D jS M - g:i a', $i['time']); ?> from <?php if($i['type'] == 'Twitter') : ?> <a title="Follow me on twitter" href="http://twitter.com/amberweinberg" target="_blank">Twitter</a> <?php elseif($i['type'] == 'Instagram') : ?> <a title="Follow me on instagram" href="http://instagram.com/amberweinberg" target="_blank">Instagram</a> <?php elseif($i['type'] == 'WP') : ?> <a title="Read the blog" href="/category/blog">the development blog</a> <?php elseif($i['type'] == 'WP2') : ?> <a title="Read the blog" href="http://www.amberweinberg.com/design" target="_blank">the design blog</a> <?php elseif($i['type'] == 'foursquare') : ?> <a title="Follow me on foursquare" href="https://foursquare.com/amberweinberg" target="_blank">Foursquare</a> <?php elseif($i['type'] == 'dribbble') : ?> <a title="Follow me on Dribbble" href="http://dribbble.com/amberweinberg/" target="_blank">Dribbble</a> <?php elseif($i['type'] == 'github') : ?> <a title="Follow me on github" href="https://github.com/amberweinberg" target="_blank">Github</a> <?php elseif($i['type'] == 'ravelry') : ?> <a title="Find me on ravelry" href="http://www.ravelry.com/projects/amberweinberg" target="_blank">Ravelry</a> <?php elseif($i['type'] == 'pinterest') : ?> <a title="Find me on pinterest" href="http://pinterest.com/amberweinberg" target="_blank">Pinterest</a> <?php elseif($i['type'] == 'goodreads') : ?> <a title="Find me on goodreads" href="http://www.goodreads.com/user/show/2891681-amber-weinberg" target="_blank">Goodreads</a> <?php elseif($i['type'] == 'lanyrd') : ?> <a title="Find me on lanyrd" href="http://lanyrd.com/profile/amberweinberg/" target="_blank">Lanyrd</a> <?php elseif($i['type'] == 'meetup') : ?> <a title="Find me on meetup" href="http://www.meetup.com/The-London-Knitting-Group/members/6078908/" target="_blank">Meetup</a> <?php elseif($i['type'] == 'codesnippit') : ?> <a title="Find me on codesnippit" href="http://codesnipp.it/amberweinberg" target="_blank">Codesnippit</a> <?php endif; ?> </span> </li> <?php endforeach; ?>

Can't see the comments? Please login first :)