*/ private $pages = array(); /** * Register hooks. */ public function register_hooks(): void { $this->pages = array( self::ROOT_SLUG => new InstructionsPage(), 'inteltele-settings' => new SettingsPage(), 'inteltele-send' => new SendPage(), 'inteltele-woocommerce' => new WooCommercePage(), 'inteltele-reports' => new ReportsPage(), ); add_action( 'admin_menu', array( $this, 'register_menu' ) ); } /** * Register plugin admin menu. */ public function register_menu(): void { add_menu_page( esc_html__( 'IntelTele', 'inteltele' ), esc_html__( 'IntelTele', 'inteltele' ), self::CAPABILITY, self::ROOT_SLUG, array( $this->pages[ self::ROOT_SLUG ], 'render' ), 'dashicons-email-alt2', 81 ); add_submenu_page( self::ROOT_SLUG, esc_html__( 'Instructions', 'inteltele' ), esc_html__( 'Instructions', 'inteltele' ), self::CAPABILITY, self::ROOT_SLUG, array( $this->pages[ self::ROOT_SLUG ], 'render' ) ); add_submenu_page( self::ROOT_SLUG, esc_html__( 'Settings', 'inteltele' ), esc_html__( 'Settings', 'inteltele' ), self::CAPABILITY, 'inteltele-settings', array( $this->pages['inteltele-settings'], 'render' ) ); add_submenu_page( self::ROOT_SLUG, esc_html__( 'Send message', 'inteltele' ), esc_html__( 'Send message', 'inteltele' ), self::CAPABILITY, 'inteltele-send', array( $this->pages['inteltele-send'], 'render' ) ); add_submenu_page( self::ROOT_SLUG, esc_html__( 'WooCommerce', 'inteltele' ), esc_html__( 'WooCommerce', 'inteltele' ), self::CAPABILITY, 'inteltele-woocommerce', array( $this->pages['inteltele-woocommerce'], 'render' ) ); add_submenu_page( self::ROOT_SLUG, esc_html__( 'Reports', 'inteltele' ), esc_html__( 'Reports', 'inteltele' ), self::CAPABILITY, 'inteltele-reports', array( $this->pages['inteltele-reports'], 'render' ) ); } }