Twitter Updates
  • I've decided I don't like the way I send emails, so i'm going to change it, I don't want them to come off as rude though 20 minutes ago

Category Archives: APIs

FaceBook Share

/*
Plugin Name: Very Simple FaceBook Share
Plugin URI: http://www.paulOr.net/facebook-share/
Description: A very simple shortcode plugin which will allow you to put a facebook sharecode on any page or post via [fbshare] - you can also style it any way with [fbshare style="color:#ffffff; text-decoration: underline;"]
Author: Paul Fraser
Version: 1
Author URI: http://www.paulOr.net
*/
function FBShare($params, $content = null) {
extract(shortcode_atts(array(
'style' => ''
), $params));
return '<a '.($style == '' ? '' : " style=\"$style\"").' name="fb_share"></a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>';
}
add_shortcode('fbshare','FBShare');

Very simple facebook share plugin which allows you to just add a shortcode to a page or post & style it via [fbshare style="blah: blah;"]

Download: FBShare.php

WordPress Plugin: Custom Class Text Widget

Every now and then at Inigo Media @Ben_Seven likes to come sit by me and pick through my work finding issues and generally tries to cause me the greatest amount of stress. Yesterday was no different, apart from he had quite a cool idea regarding WordPress widgets.

Currently there is no way to define multiple widgets with the same class – unless you do all or none. @Ben_Seven had the idea of somehow getting a custom class into the widget area while still maintaining the general look/feel & presentation on the front end.

I give to you; Custom Class Text Widget.

/*
Plugin Name: Custom Class on Text Widgets
Plugin URI: http://www.inigo.net
Description: A customized text widget to give custom classes on each widget area.
Author: Paul @ Inigo
Version: 1.0
Author URI: http://www.inigo.net
*/

	class customClassText extends WP_Widget {
		function customClassText() {
			parent::WP_Widget('customclasstext', $name = 'Custom Class Text Widget');
		}

		function widget($args, $instance) {
			extract($args);
			$title 			= apply_filters('widget_title', $instance['title']);
			$customClass 	= apply_filters('widget_title', $instance['customClass']);
			$text 			= $instance['text'];

			echo '<div class="'.$customClass.'">'."\n";
			echo 	$before_widget;
			echo 	$before_title.$title.$after_title;
			echo 	$text;
			echo 	$after_widget;
			echo '</div>'."\n";
		}

		function update($new_instance, $old_instance) {
			$instance = $old_instance;
			$instance['title'] 			= strip_tags($new_instance['title']);
			$instance['customClass'] 	= strip_tags($new_instance['customClass']);
			$instance['text'] 			= $new_instance['text'];
			return $instance;
		}

		function form($instance) {
			if($instance) {
				$title 			= esc_attr($instance['title']);
				$customClass 	= esc_attr($instance['customClass']);
				$text 			= esc_attr($instance['text']);
			} else {
				$title 			= __('', 'text_domain');
				$customClass 	= __('', 'text_domain');
				$text 			= __('', 'text_domain');
			}

			echo '<p><label for="'.$this->get_field_id('title').'">'._e('Title:').'</label>';
			echo '<input class="widefat" id="'.$this->get_field_id('title').'" name="'.$this->get_field_name('title').'" type="text" value="'.$title.'" /></p>';
			echo '<p><label for="'.$this->get_field_id('customClass').'">'._e('Custom Class:'.'</label>';
			echo '<input class="widefat" id="'.$this->get_field_id('customClass').'" name="'.$this->get_field_name('customClass').'" type="text" value="'.$customClass;.'" /></p>';
			echo '<p><label for="'.$this->get_field_id('text').'">'._e('Text:').'</label>';
			echo '<textarea class="widefat" id="'.echo $this->get_field_id('text').'" name="'.$this->get_field_name('text').'" rows="20">'.$text.'</textarea></p>';

		}
	}

	add_action('widgets_init', create_function('', 'return register_widget("customClassText");'));

Its aso a multi-widget which means you can have as many instances as you like of it – something most WordPress developers miss out of there own widgets.

I made this on Inigo Media time, so Inigo ftw on this!

VanBook 2.0

Back in the days of 2008 when Vanilla Forums were newish on the scene and just taking off, someone by the name of dkodr in the Vanilla Community created a theme called VanBook losly based on the FaceBook Developers pages.

Recently I’ve been doing a lot of tinkering with Vanilla to get myself up to speed with Gardens APIs and such – I also decided to create my own theme, well… I decided to recreate probably the single best Vanilla 1 theme that was available, Vanbook.

So I’m working on VanBook 2.0, there has been no mention of this in the Vanilla Community – which as of about a year ago I myself have not been active on. I did ask OP if he minded me tinkering with his theme quite a while ago and he said he didn’t mind.

At the moment there are not really any amazing themes available for Vanilla and I’m hoping this rehash of a once popular theme gets some good reception.

Really Simple WordPress Queries

When I was learning about WordPress and how to manipulate data, it seemed like everyone had an opinion on how to do what is actually very simple queries. Take for example; Running a custom query to get posts from a certain category. If you were to Google that you would be returned with pretty much thousands of example code, some working, some not. My 2 pence; Its this simple:

<?php $bloggy = new WP_Query("cat=5&showposts=5"); while($bloggy->have_posts()) : $bloggy->the_post();?>
	<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>
	<?php the_excerpt(); ?>
<?php endwhile; ?>

Where cat=5; change to the category ID which you want to get the posts from & showsposts=5 should be changed to however many posts you would like to see per page. It really is that simple. Now think of the possibilities of it if you were to create a shortcode from it and pass variables like [showposts cat=5 posts=10] anywhere on any page.

DailyBooth API: Most Recent Snap

TheĀ DailyBooth API is a land yet to be chartered when it comes to developing on it. Its very much still in beta, andĀ Jon orRyan might even shout at me for starting to document into at this stage. But i’m willing to risk it!

Overall, DailyBooth API is pretty straight forward and really quite simple, which is great. Ill quickly show you how to grab your most recent snap via the API.

        ## GET THE USERS USER ID VIA THERE USERNAME
	$userID = json_decode(file_get_contents('http://api.dailybooth.com/v1/user/id/paul.json'));

	## NOW COLLECT THE IMAGES FROM THERE FEED, VIA THERE USERID
	$feed = json_decode(file_get_contents('http://api.dailybooth.com/v1/user/pictures/'.$userID[0].'.json'));

	## PRINT OUT THE IMAGE
	echo '<img src="'.$feed[0]->urls->medium.'" />';