/** * Sets whether or not the plugin should be enabled. Also initialize the plugin's settings. * * @return void */ static function init() { add_action('admin_notices', array('AKTT', 'admin_notices')); self::$enabled = class_exists('Social'); if (!self::$enabled) { self::add_admin_notice(sprintf(__('Twitter Tools relies on the <a href="%s">Social plugin</a>, please install this plugin.', 'twitter-tools'), 'http://wordpress.org/extend/plugins/social/'), 'error'); return; } /* Set our default settings. We need to do this at init() so that any text domains (i18n) are registered prior to us setting the labels. */ self::set_default_settings(); self::register_post_type(); self::register_taxonomies(); add_shortcode('aktt_tweets', 'aktt_shortcode_tweets'); add_shortcode('aktt_tweet', 'aktt_shortcode_tweet'); // General Hooks add_action('wp', array('AKTT', 'controller'), 1); add_filter('the_post', array('AKTT', 'the_post')); add_filter('the_posts', array('AKTT', 'the_posts')); add_action('social_account_disconnected', array('AKTT', 'social_account_disconnected'), 10, 2); add_action('social_broadcast_response', array('AKTT', 'social_broadcast_response'), 10, 3); // Admin Hooks add_action('admin_init', array('AKTT', 'init_settings'), 0); add_action('admin_init', array('AKTT', 'admin_controller'), 1); add_action('admin_menu', array('AKTT', 'admin_menu')); add_filter('plugin_action_links', array('AKTT', 'plugin_action_links'), 10, 2); add_filter('post_row_actions', array('AKTT', 'post_row_actions'), 10, 2); add_action('admin_enqueue_scripts', array('AKTT', 'admin_enqueue_scripts')); // Cron Hooks add_action('socialcron15', array('AKTT', 'import_tweets')); add_action('aktt_backfill_tweets', array('AKTT', 'backfill_tweets')); // Set logging to admin screen settings self::$debug = self::option('debug'); }