campaign = $campaign; } /** * Execute registered campaign actions. */ public function run() { $this->define_hooks(); foreach ($this->campaign->actions as $action) { switch ($action['id']) { // Hide. case C::ACTION_HIDE: add_filter('hurryt_campaign_template', '__return_empty_string', 1); break; // URL redirect. case C::ACTION_REDIRECT; @wp_redirect($action['redirectUrl']); break; // Change stock status (regular mode) case C::ACTION_CHANGE_STOCK_STATUS: $wcCampaign = new WCCampaign(); $wcCampaign->changeStockStatus($this->campaign, $action['wcStockStatus']); break; // Display message. case C::ACTION_DISPLAY_MESSAGE: add_filter('hurryt_campaign_template', function () use ($action) { return "
"; }, 2); break; } } } }