Skip to content

Instantly share code, notes, and snippets.

@kharissulistiyo
Last active February 10, 2025 04:08
Show Gist options
  • Save kharissulistiyo/dec8410e4006c5d18be40b52177ba0db to your computer and use it in GitHub Desktop.
Save kharissulistiyo/dec8410e4006c5d18be40b52177ba0db to your computer and use it in GitHub Desktop.
Configure plugin menu, features administration screen, and pages. Appears in https://admin.risbl.com/2025/02/04/about-risbl-admin/
<?php
// Risbl Admin object
$setting_page = Risbl_Admin();
// Config and display plugin menu and setting screen
$setting_page->config([
'parent_admin' => 'index.php',
'parent_admin_slug' => 'index.php',
'page_title' => __('Login Redirect', 'risbl-default-page-after-user-login'),
'menu_title' => __('Login Redirect', 'risbl-default-page-after-user-login'),
'capability' => 'manage_options',
'menu_slug' => 'risbl-login-redirect',
'icon_url' => 'dashicons-admin-links',
'position' => 29,
'tabs' => [
'general' => __('General', 'risbl-default-page-after-user-login'),
'redirect' => __('Redirect', 'risbl-default-page-after-user-login'),
'tool' => __('Tool', 'risbl-default-page-after-user-login'),
],
'tab_param' => 'otab',
'tab_index' => 'general',
'has_group' => 'yes',
'group_index' => 'user-role',
'form_wrap' => ['<form method="post" action="">', '</form>'],
])->add_setting_screen();
// Add pages
$setting_page->add_page('general', [$this, 'page_general']);
$setting_page->add_page('redirect', [$this, 'page_redirect']);
$setting_page->add_page('tool', [$this, 'page_tool']);
$setting_page->add_page('add-role', [$this, 'page_add_role']);
$setting_page->add_page('delete-role', [$this, 'page_delete_role']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment