/** * Front-end display of widget. * * @see WP_Widget::widget() * * @param array $args Widget arguments. * @param array $instance Saved values from database. */ public function widget($args, $instance) { $default = array('title' => 'recent tweet', 'number_tweet' => 5, 'user_id' => 'evanto'); $instance = wp_parse_args($instance, $default); extract($instance); echo balanceTags($args['before_widget']); if (!empty($title)) { echo balanceTags($args['before_title'] . $title . $args['after_title']); } if ($user_id) { $credentials = array('consumer_key' => '18ihEuNsfOJokCLb8SAgA', 'consumer_secret' => '7vTYnLYYiP4BhXvkMWtD3bGnysgiGqYlsPFfwXhGk'); $twitter_api = new Wp_Twitter_Api($credentials); $query = 'count=' . $number_tweet . '&include_entities=true&include_rts=true&screen_name=' . $user_id; $args = array('type' => 'statuses/user_timeline'); $twitters = $twitter_api->query($query); $output = array(); $output[] = '<div class="twitter">'; $output[] = '<ul class="tweet-list list-unstyled">'; if (!isset($twitters['errors']) && count($twitters) > 0 and is_array($twitters)) { foreach ($twitters as $twitter) { $twitter = (array) $twitter; $output[] = '<li class="tweet">'; $output[] = "<span class='tweet-text'><a href='http://twitter.com/" . $user_id . "/status/" . $twitter['id'] . "'>" . human_time_diff(strtotime($twitter['created_at'])) . ' ago</a></span>'; $output[] = "<span class='tweet-time'>" . $twitter['text'] . "</span>"; $output[] = '</li>'; } } $output[] = '</ul>'; $output[] = '</div>'; echo implode("\n", $output); } }
function get_twitter_entries($count, $username, $widget_id, $time = 'yes', $avatar = 'yes', $used_for = 'sidebar', $twitter_consumer_key, $twitter_consumer_secret) { $filtered_message = ""; $output = ""; $iterations = 0; $cache = get_transient(THEMENAME . '_tweetcache_id_' . $username . '_' . $widget_id); if ($cache) { // $tweets = get_option(THEMENAME.'_tweetcache_'.$username.'_'.$widget_id); } else { // Include Twitter API Client require_once 'class-wp-twitter-api.php'; // Set your personal data retrieved at https://dev.twitter.com/apps $credentials = array('consumer_key' => $twitter_consumer_key, 'consumer_secret' => $twitter_consumer_secret); // Let's instantiate Wp_Twitter_Api with your credentials $twitter_api = new Wp_Twitter_Api($credentials); // Example a - Retrieve last 5 tweets from my timeline (default type statuses/user_timeline) $query = 'count=5&include_entities=true&include_rts=true&screen_name=' . $username; $response = $twitter_api->query($query); if (!is_wp_error($response)) { $tweets = array(); if (!empty($response)) { foreach ($response as $tweet) { if ($iterations == $count) { break; } $text = (string) $tweet->text; if ($text[0] != "@") { $iterations++; $tweets[] = array('text' => filter($text), 'created' => strtotime($tweet->created_at), 'user' => array('name' => (string) $tweet->user->name, 'screen_name' => (string) $tweet->user->screen_name, 'image' => (string) $tweet->user->profile_image_url, 'utc_offset' => (int) $tweet->user->utc_offset[0], 'follower' => (int) $tweet->user->followers_count)); } } set_transient(THEMENAME . '_tweetcache_id_' . $username . '_' . $widget_id, 'true', 60 * 30); update_option(THEMENAME . '_tweetcache_' . $username . '_' . $widget_id, $tweets); } } } if (!isset($tweets[0])) { $tweets = get_option(THEMENAME . '_tweetcache_' . $username . '_' . $widget_id); } if (isset($tweets[0])) { $time_format = get_option('date_format') . " - " . get_option('time_format'); if ($used_for == 'sidebar') { foreach ($tweets as $message) { $ex_cl = ''; if ($avatar == 'yes') { $ex_cl = 'with_avatar'; } $output .= '<li><dl class="dl-horizontal ' . $ex_cl . '"><dt>'; if ($avatar == 'yes') { $output .= '<img src="' . $message['user']['image'] . '" alt="avatar" />'; } else { $output .= '<i class="moon-twitter"></i>'; } $output .= '</dt><dd>'; $output .= '<span class="message">' . $message['text'] . '</span>'; $output .= '<span class="date">' . date_i18n($time_format, $message['created'] + $message['user']['utc_offset']) . '</span>'; $output .= '</dd></dl></li>'; } } else { if ($used_for == 'box_content') { foreach ($tweets as $message) { $output .= '<li><dl class="span' . 12 / $count . '">'; $output .= '<dd><span class="message">' . $message['text'] . '</span>'; $output .= '<span class="date">' . date_i18n($time_format, $message['created'] + $message['user']['utc_offset']) . '</span></dd>'; $output .= '</dl></li>'; } } } } if ($output != "") { if ($used_for == 'sidebar') { $filtered_message = "<ul class='tweet_list'>{$output}</ul>"; } else { $filtered_message = "<ul class='tweet_list row'>{$output}</ul>"; } } else { if ($used_for == 'sidebar') { $filtered_message = "<ul class='tweet_list'><li>No public Tweets found</li></ul>"; } else { $filtered_message = '<p>No public Tweets found</p>'; } } return $filtered_message; }
/** * Get request tweets from service api * @param $args * @return bool|object */ function themify_request_tweets($args) { $data = themify_get_data(); $prefix = 'setting-twitter_settings_'; $screen_name = urlencode(strip_tags(sanitize_user(str_replace('@', '', $args['username'])))); if ($args['limit'] != '') { $count = intval($args['limit']); } if ($args['include_retweets'] == 'true') { $include_rts = '1'; } else { $include_rts = '0'; } $exclude_replies = $args['exclude_replies']; $consumer_key = isset($data[$prefix . 'consumer_key']) ? $data[$prefix . 'consumer_key'] : ''; $consumer_secret = isset($data[$prefix . 'consumer_secret']) ? $data[$prefix . 'consumer_secret'] : ''; if (!class_exists('Wp_Twitter_Api')) { // Require twitter oauth class require 'twitteroauth/class-wp-twitter-api.php'; } $credentials = apply_filters('themify_twitter_credentials', array('consumer_key' => $consumer_key, 'consumer_secret' => $consumer_secret)); $query = 'screen_name=' . $screen_name . '&count=' . $count . '&include_rts=' . $include_rts . '&exclude_replies=' . $exclude_replies . '&include_entities=true'; $twitterConnection = new Wp_Twitter_Api($credentials); $tweets = $twitterConnection->query($query); return $tweets; }
/** * get_twitter_entries() * * @param mixed $count * @param mixed $username * @param mixed $widget_id * @param string $time * @param string $avatar * @param string $used_for * @return */ function get_twitter_top_footer($count, $username, $widget_id = 9999, $time = 'no', $avatar = 'no') { $filtered_message = ""; $output = ""; $iterations = 0; $cache = get_transient(THEMENAME . '_tweetcache_id_' . $username . '_' . $widget_id); if ($cache) { $tweets = get_option(THEMENAME . '_tweetcache_' . $username . '_' . $widget_id); } else { // Include Twitter API Client require_once 'class-wp-twitter-api.php'; $twitter_consumer_key = themeple_get_option('twitter_consumer_key'); $twitter_consumer_secret = themeple_get_option('twitter_consumer_secret'); // Set your personal data retrieved at https://dev.twitter.com/apps $credentials = array('consumer_key' => $twitter_consumer_key, 'consumer_secret' => $twitter_consumer_secret); // Let's instantiate Wp_Twitter_Api with your credentials $twitter_api = new Wp_Twitter_Api($credentials); // Example a - Retrieve last 5 tweets from my timeline (default type statuses/user_timeline) $query = 'count=5&include_entities=true&include_rts=true&screen_name=' . $username; $response = $twitter_api->query($query); if (!is_wp_error($response)) { $tweets = array(); if (!empty($response)) { foreach ($response as $tweet) { if ($iterations == $count) { break; } $text = (string) $tweet->text; if ($text[0] != "@") { $iterations++; $tweets[] = array('text' => filter($text), 'created' => strtotime($tweet->created_at), 'user' => array('name' => (string) $tweet->user->name, 'screen_name' => (string) $tweet->user->screen_name, 'image' => (string) $tweet->user->profile_image_url, 'utc_offset' => (int) $tweet->user->utc_offset[0], 'follower' => (int) $tweet->user->followers_count)); } } set_transient(THEMENAME . '_tweetcache_id_' . $username . '_' . $widget_id, 'true', 60 * 30); update_option(THEMENAME . '_tweetcache_' . $username . '_' . $widget_id, $tweets); } } } if (!isset($tweets[0])) { $tweets = get_option(THEMENAME . '_tweetcache_' . $username . '_' . $widget_id); } if (isset($tweets[0])) { $time_format = get_option('date_format') . " - " . get_option('time_format'); foreach ($tweets as $message) { $output .= '<li class="tweet">'; $output .= '<h5><img src="' . $message['user']['image'] . '"> ' . $message['user']['name'] . ' @ ' . $message['text'] . '</h5>'; $output .= '</li>'; } } if ($output != "") { $filtered_message = "<ul class='tweet_list' id='tweet_footer'>" . $output . "</ul>"; } else { $filtered_message = "<ul class='tweet_list' id='tweet_footer'><li> No public Tweets found</li></ul>"; } return $filtered_message; }
function be_get_tweets($query) { require_once BE_PB_ROOT_PATH . 'functions/twitter/class-wp-twitter-api.php'; $credentials = array('consumer_key' => 'NzICpLcZh35wmxHbdxIPjA', 'consumer_secret' => 'ragtPbz0eC2FpzBJL3CGy5sxgdNGhJ7f9nWw1nnkboo'); $twitter_api = new Wp_Twitter_Api($credentials); return $twitter_api->query($query); }
/** * Construct Twitter tab * * @since 1.0 */ function ts_fab_show_twitter($context = '', $authorid = '') { // Grab settings $ts_fab_settings = ts_fab_get_tabs_settings(); if ($authorid == '') { global $authordata; $author = $authordata; } else { $author = get_userdata($authorid); } // Check if author has entered twitter username into WordPress profile if (get_user_meta($author->ID, 'ts_fab_twitter', true)) { $screen_name = get_user_meta($author->ID, 'ts_fab_twitter', true); if (isset($ts_fab_settings['twitter_consumer_key']) && isset($ts_fab_settings['twitter_consumer_secret'])) { // Include Twitter API 1.1 Client for WordPress require_once dirname(__FILE__) . '/class-wp-twitter-api.php'; // Set your personal data retrieved at https://dev.twitter.com/apps $credentials = array('consumer_key' => $ts_fab_settings['twitter_consumer_key'], 'consumer_secret' => $ts_fab_settings['twitter_consumer_secret']); // Let's instantiate our class with our credentials $twitter_api = new Wp_Twitter_Api($credentials); // Example b - Retrieve my follower with a cache of 24 hour (default 30 minutes) $query = 'count=1&include_entities=true&screen_name=' . $screen_name; $args = array('type' => 'statuses/user_timeline', 'cache' => $ts_fab_settings['twitter_cache_interval'] * 60); $result = $twitter_api->query($query, $args); } // Store information we plan to use as variables if (isset($result[0]->text) && '' != $result[0]->text) { $status = $result[0]->text; $tweet_time = $result[0]->created_at; if (isset($result[0]->user->description)) { $description = $result[0]->user->description; } } else { $status = __('<!-- Couldn\'t fetch latest tweet -->', 'ts-fab'); } // Create Fanciest Author Box output $ts_fab_twitter = ' <div class="ts-fab-tab" id="ts-fab-twitter-' . $context . '"> <div class="ts-fab-avatar">' . ts_fab_get_author_image($author) . '</div> <div class="ts-fab-text"> <div class="ts-fab-header"> <h4><a href="http://twitter.com/' . $screen_name . '">@' . $screen_name . '</a></h4>'; if ($ts_fab_settings['twitter_bio'] == 1 && isset($description)) { $ts_fab_twitter .= '<div class="ts-fab-description">' . ts_fab_link_twitter($description) . '</div>'; } $ts_fab_twitter .= '</div><!-- /.ts-fab-header -->'; if ($ts_fab_settings['twitter_tweet'] == 1) { $ts_fab_twitter .= '<div class="ts-fab-content">'; $ts_fab_twitter .= ts_fab_link_twitter($status); if (isset($tweet_time)) { $ts_fab_twitter .= '<span class="ts-fab-twitter-time"> - ' . human_time_diff(strtotime($tweet_time), time('U')) . ' ago</span>'; } $ts_fab_twitter .= '</div>'; } $show_count = $ts_fab_settings['twitter_count'] == 1 ? ' data-show-count="true" ' : ' data-show-count="false" '; $ts_fab_twitter .= '<div class="ts-fab-follow"><a href="https://twitter.com/' . $screen_name . '" class="twitter-follow-button"' . $show_count . 'data-lang="' . get_locale() . '">Follow @' . $screen_name . '</a></div> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> </div> </div>'; return $ts_fab_twitter; } }