Primary responsibility
Opens the user’s settings drawer — profile editing, notification preferences, log-out, and app version. Sibling plugins extend the menu (e.g., to add a “Manage subscriptions” entry) via the mam_main_content_class_settings filter.
Settings
| Setting |
Type |
Environment |
Purpose |
show_profile_link |
yes-no |
global |
Show “Edit profile” entry |
show_notifications_link |
yes-no |
global |
Show “Notification preferences” entry |
show_logout |
yes-no |
global |
Show “Log out” entry |
show_app_version |
yes-no |
global |
Footer with app version + build number |
style_* |
various |
per-button |
Colors |
Hooks involved
Adding a custom settings entry
add_filter( 'mam_main_content_class_settings', function ( array $entries ): array {
$entries[] = array(
'title' => 'Manage subscriptions',
'icon' => 'black_subscription',
'action' => 'open_form',
'source' => $form_index_for_subscriptions,
);
return $entries;
} );
Gotchas
- Logged-out users can still see the Settings button if it’s placed on a screen they have access to. Gate via the
show_logout toggle plus a check inside your custom-entry filter callback.
- No native settings sync. If your sibling plugin needs to mirror app settings to a backend, fire your own AJAX from the entry’s
action.
Related articles
- Content classes overview
- Hook: mam_main_content_class_settings
| Field |
Value |
| Article type |
Screen Reference |
| Plugin slug |
mam-main |
| Applies to plugin version |
2.1.11+ |
| Category |
App Settings Reference |
| Audience |
WordPress admin / PHP developer |
| Class name |
local_app_settings_menu_button (frozen) |
| Source file |
includes/content-classes/content-class-settings-menu.php |
| Last verified |
2026-05-02 |