Content class: Settings Menu

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

Hook Type Role
mam_main_content_class_settings Filter Primary extension point. Sibling plugins append menu entries here

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.

  • Content classes overview
  • Hook: mam_main_content_class_settings

Metadata

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
Contents

    Need Support?

    Can’t find the answer you’re looking for? Don’t worry we’re here to help!