define_constants(); $this->includes(); $this->init_hooks(); } private function define_constants(){ if ( ! defined('AISSP_VERSION') ) if ( ! defined('AISSP_VERSION') ) if ( ! defined('AISSP_VERSION') ) define('AISSP_VERSION','1.0.9'); define('AISSP_PATH', plugin_dir_path(__FILE__)); define('AISSP_URL', plugin_dir_url(__FILE__)); define('AISSP_SETTINGS_SLUG','aissp_settings'); } private function includes(){ require_once AISSP_PATH.'admin/settings-page.php'; require_once AISSP_PATH.'admin/meta-box.php'; require_once AISSP_PATH.'includes/rp-http.php'; require_once AISSP_PATH.'includes/helper-functions.php'; } private function init_hooks(){ add_filter('plugin_action_links_'.plugin_basename(__FILE__),[$this,'settings_link']); add_action('admin_menu',[$this,'register_admin_menu']); add_action('admin_init',[$this,'register_settings']); add_action('wp_ajax_aissp_bulk_tick', [$this,'ajax_bulk_tick']); add_action('wp_ajax_aissp_bulk_cancel', [$this,'ajax_bulk_cancel']); // Bulk snippet for terms foreach($this->supported_taxonomies as $tax){ add_filter("bulk_actions-edit-{$tax}",[$this,'bulk_actions_terms']); add_filter("handle_bulk_actions-edit-{$tax}",[$this,'handle_bulk_terms'],10,3); } // Ajax snippet generation for single post add_action('wp_ajax_aissp_generate_snippet',[$this,'ajax_generate_snippet']); // Head meta tags add_action('wp_head',[$this,'inject_head_meta'],1); // Admin CSS/JS add_action('admin_enqueue_scripts',[$this,'enqueue_assets']); // Bulk + filter for posts add_action('admin_init',[$this,'init_posttype_bulk_and_filter']); add_action('admin_init',[$this,'listing_columns_setup']); // Notices add_action('admin_notices',[$this,'show_bulk_notices']); // NOTE: Previously inline