Blog

Mostrar últimos tweets sin plugin en WordPress

Estuve buscando por algunas horas como hacerlo, sin embargo no encontré alguna manera fácil de lograrlo. Luego encontré el código que twitter proporciona pero no quería tener que colocarlo en el tema y es que hay muchos plugins con mucha funcionalidad para WordPress, pero que si yo solo quiero lo básico mostrar N cantidad de plugins sin tener que instalar un plugin y tenerlo como widget.

Solo tienes que copiar el siguiente código en tu functions.php o en royal-core/plugins.php en el nuevo framework para temas de WordPress que estaré lanzando el próximo mes y listo tienes ¡Twitter en tu sitio!

<?php
/**
* DisplayTweet Class
*/
class DisplayTweet extends WP_Widget {
/** constructor */
function DisplayTweet() {
$widget_ops = array('classname' => 'widget_lastest_tweets', 'description' => 'A list with your twitter feed' );
$this->WP_Widget('display_tweets', 'Display Tweets', $widget_ops);
}
/** @see WP_Widget::widget */
function widget($args, $instance) {
extract( $args );
/* User-selected settings. */
$title = apply_filters('widget_title', $instance['title'] );
$name = $instance['username'];
$limit = $instance['limit'];
/* Before widget (defined by themes). */
echo $before_widget;
/* Title of widget (before and after defined by themes). */
if ( $title )
echo $before_title . '<a href="http://twitter.com/'. $name .'">' . $title . '</a>' . $after_title;
/* Display name from widget settings. */
if (empty($limit)) { $limit = 1; }
if ( $name ) {
$output = '<ul id="twitter_update_list"><li>&nbsp;</li></ul>';
$output .= '<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>';
$output .= '<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/'. $name .'.json?callback=twitterCallback2&amp;count='. $limit .'"></script>';
echo $output;
}
/* After widget (defined by themes). */
echo $after_widget;
}
/** @see WP_Widget::update */
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
/* Strip tags (if needed) and update the widget settings. */
$instance['title'] = strip_tags( $new_instance['title'] );
$instance['username'] = strip_tags( $new_instance['username'] );
$instance['limit'] = $new_instance['limit'];
return $instance;
}
/** @see WP_Widget::form */
function form($instance) {
$title = esc_attr($instance['title']);
$name = esc_attr($instance['username']);
$limit = esc_attr($instance['limit']);
?>
<p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?> <input id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /></label></p>
<p><label for="<?php echo $this->get_field_id('username'); ?>"><?php _e('Username:'); ?> <input id="<?php echo $this->get_field_id('username'); ?>" name="<?php echo $this->get_field_name('username'); ?>" type="text" value="<?php echo $name; ?>" /></label></p>
<p><label for="<?php echo $this->get_field_id('limit'); ?>"><?php _e('Number of Tweets:'); ?> <input id="<?php echo $this->get_field_id('limit'); ?>" name="<?php echo $this->get_field_name('limit'); ?>" type="text" value="<?php echo $limit; ?>" /></label></p>
<?php
}
} // class DisplayTweet
add_action('widgets_init', create_function('', 'return register_widget("DisplayTweet");')); ?>