public function run() { if (!class_exists('WC_Integrations')) { return; } //$plugin_path = plugin_dir_path( dirname( __FILE__ ) ); require_once $this->plugin_path . 'includes/admin/integrations/class-wc-integrations-rulemailer.php'; global $woocommerce; $settings_url = admin_url('admin.php?page=wc-settings&tab=integration§ion=rulemailer'); if (!defined('WOOCOMMERCE_RULEMAILER_SETTINGS_URL')) { define('WOOCOMMERCE_RULEMAILER_SETTINGS_URL', $settings_url); } function add_rulemailer_integration($methods) { $methods[] = 'WC_Integration_RuleMailer'; return $methods; } function action_links($links) { $plugin_links = array('<a href="' . WOOCOMMERCE_RULEMAILER_SETTINGS_URL . '">' . __('Settings', 'woorule') . '</a>'); return array_merge($plugin_links, $links); } function api_loaded($key) { } WC_Admin_Settings_Rulemailer::init(); add_filter('woocommerce_integrations', 'add_rulemailer_integration'); add_filter('plugin_action_links_woorule', 'action_links'); add_action('woorule_api_loaded', 'api_loaded'); }
public static function init() { // filters add_filter('woocommerce_settings_tabs_array', __CLASS__ . '::add_setting_tab', 100); // actions add_action('woocommerce_settings_tabs_woorule_settings_tab', __CLASS__ . '::route'); add_action('woocommerce_update_options_woorule_settings_tab', __CLASS__ . '::update_options'); add_action('woocommerce_checkout_update_order_meta', __CLASS__ . '::order_status_changed', 1000, 1); add_action('woocommerce_order_status_changed', __CLASS__ . '::order_status_changed', 10, 3); add_action('woocommerce_checkout_fields', __CLASS__ . '::checkout_fields'); add_action('woocommerce_checkout_update_order_meta', __CLASS__ . '::save_checkout_fields'); // params self::$ACTION = empty($_GET['woo-rule-action']) ? '' : sanitize_title($_GET['woo-rule-action']); self::$RULE_ID = empty($_GET['rule-id']) ? '' : sanitize_title($_GET['rule-id']); }