plugin_name = NCB_ARM_TEXT_DOMAIN; $this->version = NCB_ARM_VERSION; $this->load_dependencies(); //$this->set_locale(); $this->define_core_hooks(); $this->define_admin_hooks(); } private function load_dependencies() { // Instantiate ALL our classes here $this->redirect_handler = new NCB_ARM_Redirect_Handler(); $this->logger_404 = new NCB_ARM_404_Logger(); $this->admin_page = new NCB_ARM_Admin_Page( $this->get_plugin_name(), $this->get_version() ); $this->dashboard_widget = new NCB_ARM_Dashboard_Widget(); $this->db = new NCB_ARM_DB(); $this->tools = new NCB_ARM_Tools(); $this->link_scanner = new NCB_ARM_Link_Scanner(); } /* private function set_locale() { add_action( 'plugins_loaded', array( $this, 'load_plugin_textdomain' ) ); } */ private function define_core_hooks() { add_action( 'init', array( $this->redirect_handler, 'handle_redirect' ), 1 ); add_action( 'template_redirect', array( $this->logger_404, 'log_404_error' ) ); } private function define_admin_hooks() { if ( ! is_admin() ) { return; } add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_styles' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) ); add_action( 'admin_menu', array( $this->admin_page, 'add_plugin_admin_menu' ) ); add_action( 'wp_dashboard_setup', array( $this->dashboard_widget, 'add_dashboard_widget' ) ); } public function get_plugin_name() { return $this->plugin_name; } public function get_version() { return $this->version; } public function enqueue_styles( $hook ) { if ( 'settings_page_advanced-redirect-manager' !== $hook ) { return; } wp_enqueue_style( $this->plugin_name, NCB_ARM_PLUGIN_URL . 'assets/css/arm-admin-styles.css', array(), $this->version, 'all' ); wp_enqueue_style( $this->plugin_name . '-flyout', NCB_ARM_PLUGIN_URL . 'assets/css/arm-flyout.css', array(), $this->version, 'all' ); } public function enqueue_scripts( $hook ) { if ( 'settings_page_advanced-redirect-manager' !== $hook ) { return; } $main_script_handle = $this->plugin_name . '-admin-scripts'; wp_enqueue_script( $main_script_handle, NCB_ARM_PLUGIN_URL . 'assets/js/arm-admin-scripts.js', array( 'jquery', 'wp-util' ), $this->version, true ); wp_enqueue_script( $this->plugin_name . '-flyout', NCB_ARM_PLUGIN_URL . 'assets/js/arm-flyout.js', array(), $this->version, true ); // Definiamo un array di stringhe che verranno passate a JavaScript. // In questo modo, le stringhe possono essere tradotte tramite i file .po/.mo del plugin. $i18n_strings = array( // Stringhe Generiche e del Modale 'loading' => __( 'Loading...', 'advanced-redirect-manager' ), 'errorLoading' => __( 'Error loading redirects.', 'advanced-redirect-manager' ), 'unexpectedError' => __( 'An unexpected error occurred.', 'advanced-redirect-manager' ), 'noRulesFound' => __( 'No redirect rules found. Add one!', 'advanced-redirect-manager' ), 'confirmDelete' => __( 'Are you sure you want to delete this redirect rule? This action cannot be undone.', 'advanced-redirect-manager' ), 'errorDelete' => __( 'Could not delete rule.', 'advanced-redirect-manager' ), 'editRuleTitle' => __( 'Edit Redirect Rule', 'advanced-redirect-manager' ), 'addRuleTitle' => __( 'Add New Redirect Rule', 'advanced-redirect-manager' ), 'errorSave' => __( 'Could not save the rule.', 'advanced-redirect-manager' ), 'searching' => __( 'Searching...', 'advanced-redirect-manager' ), 'errorPrefix' => __( 'Error:', 'advanced-redirect-manager' ), 'deleteRuleTitle' => __( 'Delete Redirect Rule', 'advanced-redirect-manager' ), // Stringhe dello Scanner di Link 'selectScanOption' => __( 'Please select at least one scan option (Internal or External Links).', 'advanced-redirect-manager' ), 'startingScan' => __( 'Starting scan...', 'advanced-redirect-manager' ), 'scanStartError' => __( 'Could not start the scan.', 'advanced-redirect-manager' ), 'scanProgress' => __( 'Scanning ({current}/{total}): {post_title}', 'advanced-redirect-manager' ), 'scanComplete' => __( 'Scan complete. {total} posts and pages analyzed.', 'advanced-redirect-manager' ), 'scanCompleteBroken' => __( 'Found {broken_links} broken links.', 'advanced-redirect-manager' ), 'scanCompleteNone' => __( 'No broken links found!', 'advanced-redirect-manager' ), 'scanNoPosts' => __( 'Scan complete. No posts or pages containing links were found.', 'advanced-redirect-manager' ), 'allLinksOk' => __( 'Scan finished. All links appear to be working.', 'advanced-redirect-manager' ), 'createRedirect' => __( 'Create Redirect', 'advanced-redirect-manager' ), 'editPost' => __( 'Edit Post', 'advanced-redirect-manager' ), ); wp_localize_script( $main_script_handle, // L'handle dello script a cui "attaccare" i dati 'ncb_arm_i18n', // Il nome dell'oggetto JavaScript che verrĂ  creato (es. window.ncb_arm_i18n) $i18n_strings // L'array di dati (le nostre stringhe traducibili) ); wp_localize_script( $main_script_handle, 'ncb_arm_ajax_obj', array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'ncb_arm_admin_ajax_nonce' ), ) ); } /* public function load_plugin_textdomain() { load_plugin_textdomain( NCB_ARM_TEXT_DOMAIN, false, dirname( plugin_basename( NCB_ARM_PLUGIN_FILE ) ) . '/languages/' ); } */ }