This is a technical document about the internal structure of the Store Locator Plus® menu configuration.
MySLP SaaS WordPress Menus
How the menu descriptions are laid out:
- position label : menu_slug [if user_can(<capability>)]
- label : submenu_slug [if user_can(<capability>)]
Customer Menus
- 30 MySLP : myslp-dashboard if user_can ( ‘manage_options’ )
- 1000.1 My Profile : myslp_profile if user_can ( ‘manage_options’ )
- 1000.2 Log Out : ../wp-login.php?action=logout if user_can( ‘manage_options’ )
- 1000.3 Contact Us : myslp_contact_form if user_can( ‘manage_options’ )
WordPress Menu Functions
add_menu_page()
For adding “top level” menus.
add_menu_page(
string $page_title,
string $menu_title,
string $capability,
string $menu_slug,
callable $callback = ”,
string $icon_url = ”,
int|float $position = null
): string
$menu_slug is the “key” that identifies this menu, must be unique within the WP installation.
add_submenu_page()
For attaching submenus to the “top level” menus.
add_submenu_page(
string $parent_slug,
string $page_title,
string $menu_title,
string $capability,
string $menu_slug,
callable $callback = ”,
int|float $position = null
): string|false
The first parameter should match a parent slug (the 4th parameter) from the add_menu() calls.
WordPress Roles & Capabilities
WordPress roles, oddly enough, are stored for each user in the wp_user_meta table in the meta_key ‘wp_capabilities’.
Relationship definition:
- role slug (Name)
- capability slug – enabled by default on WP install or granted by Store Locator Plus®
The roles and capabilities within the Store Locator Plus® system include:
- super (Super Admin)
- manage_options
- administrator (Administrator)
- manage_options
- manage_slp, granted by main SLP plugin
- manage_slp_admin, granted by main SLP plugin
- manage_slp_user, granted by main SLP plugin
- subscriber (Subscriber)
- read
- myslp_customer (MYSLP Customer)
- myslp_customer
- read
WordPress Multisite Capabilities
For users on multisite there are two entries in the wp_usermeta table.
The meta_key wp_capabilities on MySLP this value has been set at a single role – ‘subscriber’.
This defines the capabilities of the user on the main site on the platform, this is the master site and should only be open to system administrators.
The meta_key wp_<site_id>_capabilities on MySSLP this value has been set to the role – ‘administrator’.
This sets the capabilities for the subsite, where each user should be the administrator for their own site.
Image by Kevin Seibel from Pixabay