Set a custom WordPress admin favicon
Admin Favicon places your chosen icon in the browser tab for WordPress administration pages while leaving the public website favicon untouched. Select one image from the media library, save the setting and keep multiple dashboards easier to identify.
- Applies only to WordPress administration pages.
- Uses the native WordPress media selector.
- Outputs both icon and shortcut-icon links.
- Leaves the frontend favicon unchanged.
What does Admin Favicon do?
When the admin_favicon setting is enabled,
TheOneWP instantiates TOWP_Admin_Favicon. The
class hooks admin_head at priority
1, reads the saved
admin_favicon_url, escapes it with
esc_url() and then prints
rel="icon" plus
rel="shortcut icon" link elements. Because the
callback is attached only to admin_head,
frontend favicon markup is not changed.
Every WordPress tab can look the same
Administrators who manage several sites can end up with a row of nearly identical WordPress tabs, making the correct dashboard harder to recognize at a glance.
Frontend branding does not guarantee backend clarity
A site icon configured by the theme or WordPress settings is intended for the public site. However, the verified module provides a separate admin-only icon without rewriting that frontend choice.
Custom snippets create another maintenance point
A hand-written admin_head snippet can solve
the same narrow problem, but it must be stored,
documented and maintained separately. Instead, TheOneWP
keeps the setting in its existing module interface.
Select one image and apply it to wp-admin
The implementation stays deliberately narrow: a module toggle, one media picker and two favicon link elements in the administration head.
Choose from the media library
First, the shared settings script opens
wp.media in single-image mode; it then
stores the selected attachment URL and ID.
Target admin pages only
The runtime class uses admin_head. Consequently, no
wp_head callback is registered by this
module.
Print standard favicon relations
Both icon and
shortcut icon relations point to the same
escaped image URL.
Everything the module actually does
These capabilities are derived directly from the module class, renderer, settings registration and shared media-picker code.
Independent module toggle
Specifically, the class is instantiated only when the
admin_favicon option is enabled.
Single-image media picker
Accordingly, the interface restricts the media frame to images and disables multiple selection.
Image preview and removal
Once chosen, the selected icon appears in the settings preview and can be cleared with the Remove control.
Two link relations
In practice, the output contains one rel="icon" tag
and one rel="shortcut icon" tag.
Early admin-head priority
Since the callback is registered at priority 1, its
output lands early in the administration head.
Import and export inclusion
admin_favicon_url appears in the plugin
image-key list used by its settings import and export
system.
Make backend tabs easier to distinguish
The value is visual identification, not a broader rebranding system disguised as a tiny icon.
Agency site management
For example, give each client dashboard a recognizable icon when several WordPress admin tabs are open.
Staging and production
Similarly, use different admin favicons to help visually distinguish environments, provided each environment is configured separately.
Internal brand consistency
Instead of replacing the public site icon, carry a small brand marker into the administration browser tab.
Editorial teams
Likewise, help editors identify the correct dashboard before switching between multiple managed publications.
Configure Admin Favicon in four steps
The interface uses the native media library, then the runtime class handles the admin-head output.
Enable the module
First, turn on Admin Favicon in TheOneWP backend settings.
Select an image
Then, open the WordPress media modal and choose one image; the UI recommends ICO, PNG or SVG at 32×32 px.
Save the setting
Once saved, the selected attachment URL and ID are written to the plugin options through its settings workflow.
Verify wp-admin
Finally, reload an administration page and confirm the browser tab uses the selected icon while the public site remains unchanged.
A tiny interface detail with a clear job
Faster visual recognition
Consequently, a distinct tab icon can reduce hesitation when switching among several WordPress dashboards.
Separated frontend identity
As a result, the admin-only hook avoids coupling the backend icon to the favicon already used by visitors.
Centralized configuration
Instead of a theme file or standalone snippet, the setting sits beside other TheOneWP backend controls.
Simple rollback
Either way, removing the image or disabling the module stops TheOneWP from printing the custom tags.
Minimal runtime output
On administration requests, the active class evaluates one saved URL and prints two short link elements only when that URL is present.
Zero database writes during page output
The output method reads the options array already passed to the class; it does not, however, perform a write, remote request or image transformation.
Nothing runs on the frontend
Since the module class is not attached to the frontend document head, its runtime output stays limited to WordPress administration pages.
Timing data is not included
The source verifies a small execution path, but it does not provide measured timing, memory or Core Web Vitals data; instead, those values require testing on the target installation.
Sanitized storage and escaped output
The verified code applies URL-specific handling at save time and again before rendering the administration-head markup.
URL sanitization
Specifically, admin_favicon_url is included in the
settings sanitizer URL-key list and is processed with
esc_url_raw().
Output escaping
Before interpolating the saved URL into either link element, the
runtime method applies esc_url().
Attachment ID normalization
Similarly, the renderer reads the stored image ID with
absint() before returning it to the
settings form.
Settings boundary
The module class contains no standalone permission or nonce check, since it only renders saved data. Instead, authorization and request verification belong to the shared settings-saving infrastructure and should be confirmed during integration review.
Built on standard WordPress admin APIs
Compatibility statements below are limited to what the source demonstrates.
WordPress admin head
Specifically, the module depends on the core
admin_head action being executed by
the administration screen.
WordPress media modal
Accordingly, the settings picker depends on
wp.media, and the plugin settings
screen enqueues WordPress media assets.
Browser favicon behaviour
The source outputs standard link relations; however, exact cache refresh timing and icon preference stay controlled by the browser.
No verified version matrix
The module files inspected do not establish a browser, PHP or WordPress version support table; instead, confirm those requirements from the plugin release documentation.
TheOneWP versus general alternatives
This table compares the verified TheOneWP implementation with typical standalone plugins and custom-code approaches. Behavior varies across competing solutions, since no shared standard governs how favicon snippets get built.
How the two approaches compare, capability by capability
| Capability | TheOneWP Admin Favicon | Other common solutions |
|---|---|---|
| Admin-only scope |
Uses admin_head only
|
May target admin, frontend or both depending on implementation |
| Image selection | Native single-image WordPress media modal | May use a URL field, uploader or separate interface |
| Saved image data | Stores attachment URL and ID | Varies by product or snippet |
| Output relations | Prints icon and shortcut icon | May print one or multiple favicon relations |
| Frontend favicon | Not changed by the module | Scope must be checked individually |
| URL handling |
esc_url_raw() on save path and
esc_url() on output
|
Sanitization and escaping depend on the implementation |
| Configuration location | Integrated with other TheOneWP modules | Usually another plugin screen or custom code location |
| Measured performance claims | No fabricated benchmark | Any claim should be independently verified |
Use an icon that remains clear at favicon size
The settings copy recommends a 32×32 px ICO, PNG or SVG. The most useful icon is simple enough to remain recognizable in a crowded browser tab.
Prefer a simple mark
In general, a compact symbol or monogram survives favicon scaling better than detailed artwork.
Differentiate environments
Likewise, use visibly different icons for staging and production when both installations are configured separately.
Test browser caching
Before assuming the setting failed, reload the dashboard and, when necessary, clear favicon or browser cache.
Verify the public site
Finally, open a frontend page after activation to confirm its existing favicon remains as intended.
Avoid expecting more than the verified scope
Admin Favicon changes browser-tab icon markup for wp-admin. It does not secretly become an entire white-label suite after midnight.
Expecting a frontend change
The class does not hook wp_head; instead, configure
the public favicon through the appropriate site or
theme setting.
Assuming dimensions are enforced
Although 32×32 px is a recommendation in the interface, it is not a dimension validation rule in the output class.
Assuming file type is validated here
The media frame requests images; the favicon class itself, however, receives and outputs a sanitized URL rather than checking MIME type.
Admin Favicon FAQ
Answers are restricted to behaviour verified in the supplied TheOneWP source.
What does Admin Favicon do?
Admin Favicon adds custom icon and shortcut-icon link elements to the WordPress administration head. The icon is used only in wp-admin and does not replace the favicon configured for the public website.
Does it change the frontend favicon?
No. The verified module runs on the admin_head action only. It does not register a wp_head callback and therefore does not modify frontend favicon markup.
Where is the favicon image selected?
The settings interface opens the native WordPress media modal in single-image mode. The selected attachment URL and attachment ID are stored in the module settings.
Which file formats can I use?
The interface recommends ICO, PNG or SVG and a 32 by 32 pixel image. The module code itself stores an image URL and does not enforce those dimensions in the output class.
What happens if no image is selected?
The output method checks the sanitized URL and returns without printing any link element when the value is empty.
Which HTML elements are added?
The module prints one link element with rel="icon" and another with rel="shortcut icon", both pointing to the selected URL.
Does Admin Favicon add scripts or styles to every admin page?
The runtime class only registers an admin_head callback and prints two small link elements when a URL exists. The settings screen uses the plugin shared media-picker assets.
How do I restore the original admin favicon?
Remove the selected image or disable the module. Without an active module and non-empty URL, TheOneWP does not print its custom admin favicon tags.
Recognize the right dashboard. Keep the public favicon untouched.
Overall, use one focused TheOneWP module to select an image from the WordPress media library and add it to administration-page browser tabs.

