Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Statenweb_Twitter {
- const TRANSIENT = 'tweets';
- const TRANSIENT_TIME = 300;
- private $cb;
- private $tweets;
- public function init() {
- add_action( 'init', array( $this, 'set_tweets' ) );
- add_action( 'site_settings', array( $this, 'twitter_settings' ) );
- }
- public function set_tweets() {
- $this->tweets = get_transient( self::TRANSIENT );
- $this->tweets = false;
- if ( ! $this->tweets ) {
- $key = EG_Healthcare_Settings::get_site_setting( 'twitter_key' );
- $secret = EG_Healthcare_Settings::get_site_setting( 'twitter_secret' );
- $twitter_count = absint( EG_Healthcare_Settings::get_site_setting( 'twitter_count' ) );
- $username = EG_Healthcare_Settings::get_site_setting( 'twitter_username' );
- \Codebird\Codebird::setConsumerKey( $key, $secret );
- if ( ! $twitter_count ) {
- $twitter_count = 5;
- }
- $token = EG_Healthcare_Settings::get_site_setting( 'twitter_token' );
- $token_secret = EG_Healthcare_Settings::get_site_setting( 'twitter_token_secret' );
- $this->cb = \Codebird\Codebird::getInstance();
- $api = 'statuses/userTimeline';
- $this->cb->setToken( $token, $token_secret );
- $this->tweets = $this->cb->$api( array(
- 'screen_name' => $username,
- 'count' => 5,
- 'include_rts' => false,
- 'exclude_replies' => true
- ) );
- set_transient( self::TRANSIENT, $this->tweets, self::TRANSIENT_TIME );
- }
- }
- public function twitter_settings( $site_settings_group ) {
- $site_settings_group->add_setting( 'Twitter Key', 'twitter_key', array( 'description' => 'Consumer Key (API Key)' ) );
- $site_settings_group->add_setting( 'Twitter Secret', 'twitter_secret', array( 'description' => 'Consumer Secret (API Secret)' ) );
- $site_settings_group->add_setting( 'Twitter Token', 'twitter_token', array( 'description' => 'Access Token' ) );
- $site_settings_group->add_setting( 'Twitter Token Secret', 'twitter_token_secret', array( 'description' => 'Access Token Secret' ) );
- $site_settings_group->add_setting( 'Twitter Username', 'twitter_username', array( 'description' => 'Without @' ) );
- $site_settings_group->add_setting( 'Twitter Count', 'twitter_count' );
- }
- public static function get_tweets() {
- return get_transient( self::TRANSIENT );
- }
- }
- $swt = new Statenweb_Twitter;
- $swt->init();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement