GoalPrevail Custom Admin Screens – User Guide
Build backend-only admin pages with the WordPress editor, control who can see them, and send users straight to a screen after they log in.
1. What this plugin does
Lets you create custom pages inside wp-admin using the standard WordPress editor, then decide who sees each one and where it appears on the admin menu. Think welcome dashboards, resource hubs, onboarding guides and client landing pages — all without a page builder or custom theme code.
- Build with the editor you know — Block editor or Classic editor, chosen per screen.
- Control access — limit a screen to specific roles, specific users, or every logged-in user.
- Redirect after login — mark a screen as the page users land on right after signing in.
Screens are a normal custom post type (gpcas_screen) stored in your database. The plugin adds no custom tables and keeps everything native to WordPress.
2. Requirements and install
2.1 Requirements
- WordPress 5.8+
- PHP 7.2+
- No WooCommerce or other plugin required
2.2 Install
- Upload the
goalprevail-custom-admin-screensfolder to/wp-content/plugins/, or use Plugins → Add New → Upload. - Activate GoalPrevail Custom Admin Screens.
- Open GoalPrevail Plugins → Custom Admin Screens to create your first screen.
3. Where to configure
Everything lives on one page: GoalPrevail Plugins → Custom Admin Screens (admin.php?page=gpcas), organised into three tabs.
- Screens — your existing screens, with quick links to edit, view or trash each one.
- Templates — the one-click starting points for a new screen.
- Settings — site-wide defaults (administrators only).
3.1 Settings tab
- Default interface mode — Easy or Expert for new screens.
- Login-redirect master switch — turn post-login redirects on or off site-wide.
- Default icon and menu placement for new screens.
The Screens and Templates tabs are open to anyone who can edit pages (administrators and editors). The Settings tab is limited to administrators.
4. Creating a screen
4.1 Start from a template or blank
- Go to the Templates tab and pick a starting point, or choose Add New to start blank.
- Templates available: Welcome Hub, Resource Center, Quick Links, Onboarding Guide, Announcement Board and Starter Layout.
- Templates are inserted as fully editable core blocks, so you can change anything.
4.2 Edit the content
- Each screen can use the Block editor or the Classic editor — switch it from the Screen Settings box.
- Easy mode keeps things simple with fewer buttons; Expert mode adds template previews and fuller controls. Each screen can use its own mode.
- Compose with normal blocks and the built-in widget shortcodes (see section 6).
4.3 The Screen Settings box
On the edit screen, the Screen Settings box controls that screen's:
- Default accent colour
- Interface mode (Easy / Expert) and editor mode (Block / Classic)
- Access rules (see section 5)
- Post-login redirect target (see section 5)
- Menu icon
5. Access control & post-login redirect
5.1 Who can see a screen
In the Screen Settings box, set each screen to one of:
- Everyone logged in — no restriction.
- Specific roles — e.g. only Editors and Authors.
- Specific users — named individuals.
Priority order when rules overlap: an individual-user rule wins over a role rule, which wins over an unrestricted screen. Administrators can always see every screen.
5.2 Send users to a screen after login
- Make sure the login-redirect master switch is on (Settings tab).
- Edit a screen and mark it as the post-login redirect target.
- After signing in, matching users land on that screen. The same priority applies: a user-specific target beats a role target, which beats an unrestricted one.
6. Widget shortcodes
Drop these into any screen's content (Block or Classic) to build dashboard-style layouts:
[gpcas_grid columns="3"]...[/gpcas_grid][gpcas_card title="..." icon="dashicons-marker"]...[/gpcas_card][gpcas_stat label="Leads" value="38" icon="dashicons-groups" trend="+12%"][gpcas_button text="Open" url="#" style="primary" icon="dashicons-plus-alt"][gpcas_notice type="success" title="..."]...[/gpcas_notice][gpcas_progress label="Target" value="48" max="100"][gpcas_recent_posts count="5" type="post"][gpcas_user_greeting]— a personalised hello for the current user.
7. Where screens appear on the menu
- Each screen shows up in wp-admin either as its own top-level menu item or grouped under a single "My Screens" menu — set the default under the Settings tab and the icon per screen.
- While you edit a screen, the GoalPrevail Plugins → Custom Admin Screens item stays highlighted so you keep your place.
8. Useful details (developers)
- Post type:
gpcas_screen(constantGPCAS_POST_TYPE). Its native menu is hidden in favour of the hub page. - Hub page: GoalPrevail Plugins → Custom Admin Screens (
admin.php?page=gpcas). - Settings option:
gpcas_settings(a single option; no custom tables). - REST API: screens are exposed at
/wp/v2/gpcas-screens; access rules, the redirect flag and the icon are registered meta fields. - Filters:
gpcas_user_can_view,gpcas_login_redirect_screen,gpcas_templates. - Capabilities: editing screens and the hub needs
edit_pages; the Settings tab needs administrator (manage_options). - Text Domain:
goalprevail-custom-admin-screens. POT template in/languages.
Raw HTML / script rendering is off by default. It can only be enabled by users with the unfiltered_html capability, and content only renders unfiltered for users who have that capability. Leave it off unless you fully trust everyone who can edit screens.
9. Troubleshooting
- An editor can't see the Admin Screens page: They need the
edit_pagescapability (Editors have it by default). The Settings tab, however, is administrators only. - A screen is hidden from a user who should see it: Check its access rules. Remember individual-user rules override role rules, which override "everyone logged in".
- Post-login redirect isn't happening: Confirm the master switch is on (Settings tab) and that a screen is marked as the redirect target for that user or role.
- HTML or scripts in a screen are being stripped: That's the security filter. Raw output only works when the raw-content option is enabled by, and viewed by, a user with
unfiltered_html. - A screen's menu item is in the wrong place: Set top-level vs "My Screens" grouping in the Settings tab, and the per-screen icon in Screen Settings.
10. Uninstall
- Deactivate the plugin under Plugins (this keeps your screens and settings).
- Delete it to remove files and clean up.
- On delete it removes all screens (including trashed ones) and the single
gpcas_settingsoption.
11. Support
Questions or feature requests: [email protected] or goalprevail.com.