> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wcr.is/llms.txt
> Use this file to discover all available pages before exploring further.

# Role-based content access on the blog

> WeCareRemote's blog shows different content and navigation based on your role — refugee users and NGO admins each get a tailored experience.

WeCareRemote's blog dynamically adapts what you see based on your account role. Refugee users see content relevant to accessing services, while NGO administrators get additional publishing and management capabilities. The changes happen automatically when you log in — no configuration needed on your part.

Under the hood, the WeCareRemote WordPress plugin reads the `permissions` field from your JWT token on every page request and uses it to:

* Show or hide menu items based on role
* Display the appropriate header for your account
* Filter post content visibility for role-restricted articles
* Toggle administrative UI elements in the WordPress admin

## Access by role

<Tabs>
  <Tab title="Logged out">
    When you visit the blog without logging in, you see the public view:

    * Public articles and resources available to all visitors
    * A login prompt in the page header
    * The standard public navigation menu

    To access any role-specific content, you need to [log in](/blog/login-form).
  </Tab>

  <Tab title="Refugee user (blog)">
    When you log in with a `blog` role account, you get:

    * Full access to articles and resources published for refugees
    * A personalized header showing your name and account status
    * Role-specific menu items visible in the navigation
    * Access to the WeCareRemote AI assistant for questions and support
  </Tab>

  <Tab title="NGO admin (org_admin)">
    When you log in with an `org_admin` role account, you get everything the refugee user sees, plus:

    * WordPress admin access to publish and edit blog content
    * Admin navigation items visible in the header and sidebar
    * Ability to manage posts, categories, and resources
    * Ability to initiate and manage video meeting recordings
  </Tab>
</Tabs>

## Menu item visibility

Navigation menus on the blog are configured to show items selectively based on login status and role. A menu item can be set to display for:

* **All visitors** — shown to everyone, including logged-out users
* **Logged-in users** — shown to any authenticated user regardless of role
* **Specific roles** — shown only to `blog` users or only to `org_admin` users

This means the navigation you see after logging in will differ from what a logged-out visitor or a user with a different role sees.

## Changing your role

Roles are assigned by WeCareRemote administrators when your account is created or updated. You cannot change your own role. If you need a different level of access — for example, if you are an NGO staff member who needs `org_admin` access — contact WeCareRemote support to request a role change.

<Info>
  Your permissions are encoded in your JWT token at login. Every time the blog verifies your session, it reads the `permissions` field from the token to determine what you can access. You can view your current permissions using the `[angular_user_info]` shortcode on any blog page.
</Info>

## Configuring role-specific menus (for admins)

If you are an `org_admin` configuring menus in WordPress:

<Steps>
  <Step title="Open Appearance → Menus">
    Navigate to the WordPress admin and open the menu editor.
  </Step>

  <Step title="Edit a menu item">
    Click the menu item you want to restrict and expand its settings.
  </Step>

  <Step title="Set visibility">
    Use the WeCareRemote visibility selector to choose who sees the item — everyone, logged-in users, only `blog` users, or only `org_admin` users.
  </Step>

  <Step title="Save the menu">
    Save your changes. The new visibility rules apply immediately on the next page load.
  </Step>
</Steps>

## Common patterns

* **Public landing pages** with `[wcr_login_form]` embedded for easy sign-in.
* **Resource libraries** visible only to logged-in users, so anonymous visitors do not consume them.
* **Internal NGO playbooks** restricted to `org_admin` users for staff-only documentation.
* **Refugee-only support guides** restricted to the `blog` role, so the content stays focused on the audience it is written for.
