public function install() { $db = $this->wp->getOption('jigoshop_database_version'); if ($db === false) { Registry::getInstance(JIGOSHOP_LOGGER)->addNotice('Installing Jigoshop.'); $this->_createTables(); $this->_createPages(); $wpdb = $this->wp->getWPDB(); $hasEmails = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM {$wpdb->posts} WHERE post_type = %s", array(Types::EMAIL))) > 0; if (!$hasEmails) { $this->installEmails(); } foreach ($this->initializers as $initializer) { /** @var $initializer Core\Installer\Initializer */ $initializer->initialize($this->wp); } $this->cron->clear(); } // Flush rules on first Jigoshop init after activation. update_option('jigoshop_force_flush_rewrite', 1); $this->wp->updateSiteOption('jigoshop_database_version', self::DB_VERSION); }