page_hook = add_menu_page( __( 'MarqueeAll — Widget Manager', 'marqueeall' ), __( 'MarqueeAll', 'marqueeall' ), 'manage_options', 'marqueeall', [ $this, 'render_page' ], 'https://ps.w.org/marqueeall/assets/icon-128x128.gif', 58 ); } /** * Enqueue admin-page assets — only on our own page. * * @param string $hook_suffix Current admin page hook. * @return void */ public function enqueue_assets( $hook_suffix ) { if ( $hook_suffix !== $this->page_hook ) { return; } wp_enqueue_style( 'marqueeall-admin', MASSCIE_URL . 'assets/css/marqueeall-admin.css', [], MASSCIE_VERSION ); wp_enqueue_script( 'marqueeall-admin', MASSCIE_URL . 'assets/js/marqueeall-admin.js', [ 'jquery' ], MASSCIE_VERSION, true ); wp_localize_script( 'marqueeall-admin', 'MARQUEEALL_ADMIN', [ 'ajax_url' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'marqueeall_save_widget_status' ), 'i18n' => [ 'saving' => __( 'Saving…', 'marqueeall' ), 'saved' => __( 'Settings saved!', 'marqueeall' ), 'save_error' => __( 'Could not save settings. Please try again.', 'marqueeall' ), /* translators: 1: Number of enabled widgets, 2: Total available widgets. */ 'enabled_count' => __( '%1$d of %2$d available widgets enabled', 'marqueeall' ), ], ] ); } /** * Render the Widget Manager admin page. * * @return void */ public function render_page() { if ( ! current_user_can( 'manage_options' ) ) { wp_die( esc_html__( 'You do not have permission to access this page.', 'marqueeall' ) ); } $registry = Widget_Registry::instance()->get_all(); $total = Widget_Registry::instance()->count(); $widget_manager = Widget_Manager::instance(); $status = $widget_manager->get_status(); $enabled_count = $widget_manager->get_enabled_count(); ?>
', '' ); ?>