public function __construct() { /** * 어드민 화면에서 통지하는 기능은 WSKL_Plugins_React 를 참고. * * @see WSKL_Plugins_React::wp_members() */ if (defined('DISABLE_WP_CRON') && DISABLE_WP_CRON) { return; } if (wskl_is_plugin_inactive(WP_MEMBERS_PLUGIN)) { return; } // 관리자 모듈 if (WSKL()->is_request('admin')) { wskl_load_module('/includes/inactive-accounts/admin/class-wskl-inactive-accounts-admin.php'); $this->admin = new WSKL_Inactive_Accounts_Admin(); } /** * 사용자 로그인 시, 로그인 시각 기록 * * @see wp-includes/user.php * @see wp_signon() */ add_action('wp_login', array($this, 'set_login_data'), 10, 2); /** * 크론 스케쥴 확장 작업 */ add_filter('cron_schedules', array($this, 'add_cron_schedule')); if (wskl_debug_enabled()) { // 디버그 전용... add_filter('cron_request', array($this, 'add_xdebug_cookie_value')); } /** * 크론 스케쥴로 새성된 훅 */ add_action('wskl_inactive_accounts_check', array($this, 'do_interval_jobs')); /** * WP-Members 패스워드 초기화 */ add_action('wpmem_pwd_reset', array($this, 'recover_user_role'), 10, 1); // 나머지 모듈들 wskl_load_module('/includes/inactive-accounts/class-wskl-inactive-accounts-email.php'); wskl_load_module('/includes/inactive-accounts/admin/class-wskl-inactive-accounts-tinymce-buttons.php'); wskl_load_module('/includes/inactive-accounts/class-wskl-inactive-accounts-shortcodes.php'); $this->shortcodes = new WSKL_Inactive_Accounts_Shortcodes(); if (wskl_debug_enabled()) { add_action('wp_ajax_inactive-accounts_test', array($this, 'test')); } }
/** * initialization */ public static function init() { if (wskl_is_plugin_inactive(WP_MEMBERS_PLUGIN)) { return; } if (is_admin()) { wskl_load_module('/includes/dabory-members/admin/class-wskl-dabory-members-admin.php', 'enable_dabory_members'); } // 회원 등록 서브모듈 wskl_load_module('/includes/dabory-members/class-wskl-dabory-members-registration.php'); // 회원 탈퇴 서브모듈 wskl_load_module('/includes/dabory-members/class-wskl-dabory-members-withdrawal.php', 'members_enable_withdrawal_shortcode'); // tinymce 버튼 삽입 서브모듈 wskl_load_module('/includes/dabory-members/class-wskl-dabory-members-tinymce-buttons.php'); // 탈퇴한 회원의 로그인 방지 add_filter('authenticate', array(__CLASS__, 'filter_authentication'), 100, 1); add_filter('woocommerce_product_tabs', array(__CLASS__, 'delivery_refund')); add_shortcode('dabory-members', array(__CLASS__, 'shortcode_dabory_members')); }
public static function check_plugin_status() { foreach (static::$plugins as $p) { $plugin_file = $p[0]; $trigger = $p[1]; $callback = $p[2]; if (empty($trigger) || !is_callable($callback)) { continue; } switch ($trigger) { case 'active': if (wskl_is_plugin_active($plugin_file)) { call_user_func_array($callback, array($plugin_file, $trigger)); } break; case 'inactive': if (wskl_is_plugin_inactive($plugin_file)) { call_user_func_array($callback, array($plugin_file, $trigger)); } break; } } }