Adding a help resource section to the WordPress admin dashboard gives your clients or team members quick access to documentation, support links, or video tutorials right where they work. This guide shows you how to add a custom help tab to the admin screens, using a small snippet of code in your theme’s functions.php file or a site-specific plugin. No plugins are required, and you can tailor the content to match your exact needs.
What You’ll Need
- A WordPress site with admin access (you’ll edit code)
- A code editor or the built-in theme editor in WordPress
- Basic understanding of PHP and WordPress hooks
- Access to your theme’s functions.php file (via Appearance → Theme File Editor or FTP)
Step-by-Step
- Back up your site. Before editing any code, create a full backup of your WordPress files and database. This protects you if something goes wrong.
- Open the functions.php file. In the WordPress admin, go to Appearance → Theme File Editor. Select the theme you’re using, then click on functions.php in the right-hand file list. Alternatively, connect via FTP and open the file in a local code editor.
- Add a new function. At the end of the file (before the closing PHP tag if it exists, or just at the end), add a new PHP function. This function will contain the content of your help tab. For example:
function custom_help_tab_content() { echo '<p>Welcome to your dashboard! Need help? Check our <a href="https://example.com/support">support page</a>.</p>'; }Replace the URL and text with your own resources.
- Hook the function to the admin. Use the
admin_headhook to display your content on all admin pages. Add this line after your function:add_action( 'admin_head', 'custom_help_tab_content' );This will show the content at the top of every admin page, which is simple but not the most elegant.
- Better: Use the WordPress Help Tab API. WordPress has a built-in help tab system. To use it, create a function that adds a help tab to a specific screen. For example, to add it to the dashboard:
function add_help_tab_to_dashboard() { $screen = get_current_screen(); if ( $screen->id === 'dashboard' ) { $screen->add_help_tab( array( 'id' => 'custom_help_tab', 'title' => 'Help Resources', 'content' => '<p>Need help? Visit our <a href="https://example.com/support">support center</a>.</p>', ) ); } } add_action( 'admin_head', 'add_help_tab_to_dashboard' );This adds a tab labeled “Help Resources” to the top-right of the dashboard screen.
- Add the tab to multiple screens. To show the tab on all admin screens (posts, pages, settings, etc.), remove the condition
if ( $screen->id === 'dashboard' )and just call$screen->add_help_tab()directly. For example:function add_help_tab_everywhere() { $screen = get_current_screen(); $screen->add_help_tab( array( 'id' => 'custom_help_tab', 'title' => 'Help Resources', 'content' => '<p>Need help? Contact support at <a href="mailto:support@example.com">support@example.com</a>.</p>', ) ); } add_action( 'admin_head', 'add_help_tab_everywhere' );Be cautious: this will show the tab on every admin screen, which might be too much.
- Add multiple tabs. You can add more than one tab by calling
add_help_tab()multiple times with different IDs and titles. For example, add a “Video Tutorial” tab with a link to a video. - Add a help sidebar. Use
$screen->set_help_sidebar()to add a sidebar with links to documentation. For example:$screen->set_help_sidebar( '<p><a href="https://example.com/docs">Documentation</a></p>' );This appears on the right side of the help tab content.
- Save the file. Click Update File in the theme editor, or save your local file and upload it via FTP.
- Test the result. Go to the WordPress admin dashboard (or the screen you targeted). Click the “Help” tab in the top-right corner of the screen. You should see your custom tab(s) alongside the default ones.
- Consider a site-specific plugin. If you don’t want to edit your theme (because updates might overwrite it), create a new file called
custom-help-tab.phpinwp-content/plugins/with the plugin header, then paste your functions there. Activate the plugin.
Common Mistakes
- Not using the correct hook. The
admin_headhook fires on every admin page, but if you use it to add a help tab, you must ensure the screen object is available. Usingadmin_headis correct, but some people tryinitwhich is too early. - Forgetting the screen ID condition. If you target a specific screen, make sure the ID matches exactly. For example, the dashboard is
dashboard, posts list isedit-post, post editor ispost. Check withvar_dump( $screen )if unsure. - Using single quotes inside single quotes. In PHP, if you use single quotes for strings, you can’t include an apostrophe without escaping it. Use double quotes for the content or escape with a backslash.
- Not escaping HTML. If you’re echoing HTML, make sure it’s valid. Use double quotes for attributes to avoid conflicts.
- Putting the code in the wrong file. Adding it to a child theme’s functions.php is fine, but adding it to a parent theme that gets updated will lose your changes.
Tips
- Use a child theme. If you’re not using a site-specific plugin, always add custom code to a child theme’s functions.php to avoid losing it on theme updates.
- Make the content useful. Include links to your support forum, knowledge base, or a video walkthrough. Keep it concise.
- Use the help sidebar for quick links. The sidebar is perfect for “Getting Started” and “Documentation” links.
- Test on a staging site first. Always test changes on a staging site before pushing to production to avoid breaking your live site.
- Consider user roles. You can conditionally show the tab only to certain users by checking
current_user_can()inside the function.
Troubleshooting
- The help tab doesn’t appear. Check that you’re on the correct screen. The code only runs on screens where
get_current_screen()returns an object. If you’re on a page that doesn’t support help tabs (like some custom plugin pages), it won’t show. Also, clear any caching plugins. - White screen after saving. This usually means a PHP syntax error. Revert the file immediately (via FTP or the theme editor’s revert option if available) and check your code for missing semicolons or brackets.
- Help tab shows but content is blank. Ensure your content string is correct. Check for unclosed HTML tags or PHP errors in the content.
- Tab appears on all screens but you only wanted one. Remove the
add_actionline and re-add it with a condition, or use a different hook likeload-{screen_id}for more targeted control. - Changes not reflected. If you’re using a caching plugin, purge the cache. Also, make sure you’re editing the correct theme file (not a child theme if you’re using one).
Frequently Asked Questions
Can I add a help tab to a specific custom post type?
Yes. Use the load-{post_type} hook, where {post_type} is the name of your custom post type (e.g., load-product for a “product” post type). Inside the callback, use get_current_screen() and add the help tab.
Will this work with any WordPress theme?
Yes, because you’re adding the code to your theme’s functions.php or a plugin. It doesn’t depend on the theme’s design, only on WordPress core functions.
Can I add images or videos to the help tab?
Yes. The content parameter accepts HTML, so you can embed an image with an <img> tag or a video iframe. Just ensure the source is reliable and doesn’t violate any security policies.
Is it possible to remove the default help tabs?
Yes. You can use the contextual_help filter to modify or remove default help tabs. For example, to remove all default tabs on the dashboard, you can use add_filter('contextual_help', 'remove_default_help_tabs', 999, 3) and unset the tabs.
Do I need to know PHP to do this?
Basic PHP is required. If you’re not comfortable with code, consider using a plugin like “Admin Help Tab” or “WP Help” that provides a UI. But this guide is for a code-based solution.
Can I show different help content for different user roles?
Yes. Inside your function, check the current user’s role with current_user_can() and conditionally add different help tabs or content. For example, show a “Submit Ticket” link only to editors.
Related
Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.
More cards in this drawer
- Campus Tech Innovation Hubs: What They Are
- Poco C51 Airtel Prepaid Locked Variant India?
- Jenkins vs GitHub Actions: Which CI/CD Fits Your Team?
- Turn Off Backup Encryption in iTunes?
- Shared VPS Hosting: Is It Better?
- Disk Defrag Pro: What It Does and Whether You Need It