autoship_create_menu()
(src/admin.php) Adds the main Autoship Cloud Options page & adds the subpages to WP-Admin. These include the Native Wordpress Autoship > Settings pages and the following embedded QPilot pages:
-
Products
-
Customers
-
Scheduled Orders
-
Coupons
-
Shipping Rates
-
Tax Rates
-
Payment Integrations
-
Reports
Function:
function autoship_create_menu() {
$menu_options = apply_filters(
'autoship_admin_settings_submenu_pages',
array(
'autoship' => array(
'parent_slug' => 'autoship',
'page_title' => __( 'Settings', 'autoship' ),
'menu_title' => __( 'Settings', 'autoship' ),
'capability' => 'administrator',
'menu_slug' => 'autoship',
'function' => ''
),
'dashboard' => array(
'parent_slug' => 'autoship',
'page_title' => __( 'Dashboard', 'autoship' ),
'menu_title' => __( 'Dashboard', 'autoship' ),
'capability' => 'administrator',
'menu_slug' => 'dashboard',
'function' => 'autoship_dashboard_page'
),
'products' => array(
'parent_slug' => 'autoship',
'page_title' => __( 'Products', 'autoship' ),
'menu_title' => __( 'Products', 'autoship' ),
'capability' => 'administrator',
'menu_slug' => 'products',
'function' => 'autoship_products_page'
),
'customers' => array(
'parent_slug' => 'autoship',
'page_title' => __( 'Customers', 'autoship' ),
'menu_title' => __( 'Customers', 'autoship' ),
'capability' => 'administrator',
'menu_slug' => 'customers',
'function' => 'autoship_customers_page'
),
'scheduled-orders' => array(
'parent_slug' => 'autoship',
'page_title' => __( 'Scheduled Orders', 'autoship' ),
'menu_title' => __( 'Scheduled Orders', 'autoship' ),
'capability' => 'administrator',
'menu_slug' => 'scheduled-orders',
'function' => 'autoship_scheduled_orders_page'
),
'coupons' => array(
'parent_slug' => 'autoship',
'page_title' => __( 'Coupons', 'autoship' ),
'menu_title' => __( 'Coupons', 'autoship' ),
'capability' => 'administrator',
'menu_slug' => 'coupons',
'function' => 'autoship_coupons_page'
),
'shipping-rates' => array(
'parent_slug' => 'autoship',
'page_title' => __( 'Shipping Rates', 'autoship' ),
'menu_title' => __( 'Shipping Rates', 'autoship' ),
'capability' => 'administrator',
'menu_slug' => 'shipping-rates',
'function' => 'autoship_shipping_rates_page'
),
'tax-rates' => array(
'parent_slug' => 'autoship',
'page_title' => __( 'Tax Rates', 'autoship' ),
'menu_title' => __( 'Tax Rates', 'autoship' ),
'capability' => 'administrator',
'menu_slug' => 'tax-rates',
'function' => 'autoship_tax_rates_page'
),
'payment-integrations' => array(
'parent_slug' => 'autoship',
'page_title' => __( 'Payment Integrations', 'autoship' ),
'menu_title' => __( 'Payment Integrations', 'autoship' ),
'capability' => 'administrator',
'menu_slug' => 'payment-integrations',
'function' => 'autoship_payment_integrations_page'
),
'reports' => array(
'parent_slug' => 'autoship',
'page_title' => __( 'Reports', 'autoship' ),
'menu_title' => __( 'Reports', 'autoship' ),
'capability' => 'administrator',
'menu_slug' => 'reports',
'function' => 'autoship_reports_page'
))
);
//create new top-level menu
add_menu_page(
__( 'Autoship Cloud', 'autoship' ),
__( 'Autoship Cloud', 'autoship' ),
apply_filters('autoship_cloud_main_page_security','administrator'),
'autoship',
'autoship_settings_page',
'dashicons-cloud'
);
// Setup Sub Menus to the Autoship Main Setting
foreach ($menu_options as $submenu) {
add_submenu_page(
$submenu['parent_slug'],
$submenu['page_title'],
$submenu['menu_title'],
apply_filters( 'autoship_cloud_subpage_security', $submenu['capability'], $submenu['menu_slug'] ),
$submenu['menu_slug'],
$submenu['function'] );
}
//call register settings function
add_action( 'admin_init', 'register_autoship_settings' );
}