public static function get_instance()
 {
     if (!self::$instance) {
         self::$instance = new self();
         self::$instance->get_avadaredux_options();
         self::$instance->includes();
         self::$instance->hooks();
     }
     return self::$instance;
 }
 * Version:         3.6.2.2
 * Text Domain:     avadaredux-framework
 * License:         GPL2+
 * License URI:     http://www.gnu.org/licenses/gpl-3.0.txt
 * Domain Path:     AvadaReduxCore/languages
 * Provides:        AvadaReduxFramework
 *
 * @package         AvadaReduxFramework
 * @author          Dovy Paukstys <*****@*****.**>
 * @author          Kevin Provance <*****@*****.**>
 * @license         GNU General Public License, version 3
 * @copyright       2012-2016 AvadaRedux.io
 */
// Exit if accessed directly
if (!defined('ABSPATH')) {
    die;
}
// Require the main plugin class
require_once plugin_dir_path(__FILE__) . 'class.avadaredux-plugin.php';
// Register hooks that are fired when the plugin is activated and deactivated, respectively.
register_activation_hook(__FILE__, array('AvadaReduxFrameworkPlugin', 'activate'));
register_deactivation_hook(__FILE__, array('AvadaReduxFrameworkPlugin', 'deactivate'));
// Get plugin instance
//add_action( 'plugins_loaded', array( 'AvadaReduxFrameworkPlugin', 'instance' ) );
// The above line prevents AvadaReduxFramework from instancing until all plugins have loaded.
// While this does not matter for themes, any plugin using AvadaRedux will not load properly.
// Waiting until all plugins have been loaded prevents the AvadaReduxFramework class from
// being created, and fails the !class_exists('AvadaReduxFramework') check in the sample_config.php,
// and thus prevents any plugin using AvadaRedux from loading their config file.
AvadaReduxFrameworkPlugin::instance();
 /**
  * Removes avadaredux admin notices & nag messages
  * as well as the avadaredux demo mode.
  */
 public function remove_avadaredux_notices()
 {
     if (class_exists('AvadaReduxFrameworkPlugin')) {
         remove_filter('plugin_row_meta', array(AvadaReduxFrameworkPlugin::get_instance(), 'plugin_metalinks'), null, 2);
         remove_action('admin_notices', array(AvadaReduxFrameworkPlugin::get_instance(), 'admin_notices'));
         remove_action('admin_notices', array(AvadaReduxFrameworkInstances::get_instance(Avada::get_option_name()), '_admin_notices'), 99);
         // Remove the admin metabox
         remove_meta_box('avadaredux_dashboard_widget', 'dashboard', 'side');
     }
 }