From d8da43447d07b590629be8fedd4e1d73e3239f63 Mon Sep 17 00:00:00 2001
From: Erick Hitter <services@ethitter.com>
Date: Sun, 21 Feb 2016 20:12:43 -0800
Subject: [PATCH] Fix where some actions load to keep front-end and admin
 methods separate. Also, uninstall!

---
 eth-amp-analytics-wp.php | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/eth-amp-analytics-wp.php b/eth-amp-analytics-wp.php
index 6d6680a..9b57f5d 100644
--- a/eth-amp-analytics-wp.php
+++ b/eth-amp-analytics-wp.php
@@ -70,14 +70,25 @@ class ETH_AMP_Analytics_WP {
 			return;
 		}
 
+		// Front-end
 		add_action( 'wp_loaded', array( $this, 'action_wp_loaded' ) );
+
+		// Admin UI
+		add_action( 'admin_init', array( $this, 'action_admin_init' ) );
+		register_uninstall_hook( __FILE__, array( 'ETH_AMP_Analytics_WP', 'uninstall' ) );
 	}
 
 	/**
 	 *
 	 */
+	public static function uninstall() {
+		delete_option( 'eth_amp_analytics_wp' );
+	}
+
+	/**
+	 * Conditionally load front-end hooks
+	 */
 	public function action_wp_loaded() {
-		// Front-end
 		$ga_options = get_option( $this->plugin_option_name );
 
 		if ( is_array( $ga_options ) ) {
@@ -88,10 +99,6 @@ class ETH_AMP_Analytics_WP {
 		}
 
 		unset( $ga_options );
-
-		// Admin UI
-		add_action( 'admin_init', array( $this, 'action_admin_init' ) );
-
 	}
 
 	/**
-- 
GitLab