Skip to content

Admin bar: Replace home/odometer dashicon with actual site icon if set#11781

Open
fushar wants to merge 2 commits into
WordPress:trunkfrom
fushar:admin-bar-site-icon
Open

Admin bar: Replace home/odometer dashicon with actual site icon if set#11781
fushar wants to merge 2 commits into
WordPress:trunkfrom
fushar:admin-bar-site-icon

Conversation

@fushar

@fushar fushar commented May 9, 2026

Copy link
Copy Markdown

Trac ticket: https://core.trac.wordpress.org/ticket/65088

This PR replaces the home / odometer dashicon, with the actual site icon, if set, in the admin bar. The icon will be 20x20px, with border-radius of 2px and background-color of #f0f0f1.

If the site has not set site icon, then the default dashicons (home / odometer) is NOT changed.

Screenshot

Before

image image

After

fresh modern blue coffee ectoplasm light midnight ocean sunrise

Before (mobile)

image image

After (mobile)

image image

Use of AI Tools

I used Codex with GPT-5.5 to help with the CSS implementation, with my supervision.


This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.

@github-actions

github-actions Bot commented May 9, 2026

Copy link
Copy Markdown

Hi @fushar! 👋

Thank you for your contribution to WordPress! 💖

It looks like this is your first pull request to wordpress-develop. Here are a few things to be aware of that may help you out!

No one monitors this repository for new pull requests. Pull requests must be attached to a Trac ticket to be considered for inclusion in WordPress Core. To attach a pull request to a Trac ticket, please include the ticket's full URL in your pull request description.

Pull requests are never merged on GitHub. The WordPress codebase continues to be managed through the SVN repository that this GitHub repository mirrors. Please feel free to open pull requests to work on any contribution you are making.

More information about how GitHub pull requests can be used to contribute to WordPress can be found in the Core Handbook.

Please include automated tests. Including tests in your pull request is one way to help your patch be considered faster. To learn about WordPress' test suites, visit the Automated Testing page in the handbook.

If you have not had a chance, please review the Contribute with Code page in the WordPress Core Handbook.

The Developer Hub also documents the various coding standards that are followed:

Thank you,
The WordPress Project

@github-actions

github-actions Bot commented May 9, 2026

Copy link
Copy Markdown

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.
  • Every time this pull request is updated, a new ZIP file containing all changes is created. If changes are not reflected in the Playground instance,
    it's possible that the most recent build failed, or has not completed. Check the list of workflow runs to be sure.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Test this pull request with WordPress Playground.

@fushar fushar marked this pull request as ready for review May 9, 2026 07:27
@github-actions

github-actions Bot commented May 9, 2026

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Unlinked Accounts

The following contributors have not linked their GitHub and WordPress.org accounts: @lucasmendes-design.

Contributors, please read how to link your accounts to ensure your work is properly credited in WordPress releases.

Core Committers: Use this line as a base for the props when committing in SVN:

Props fushar, sergeybiryukov, joen.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@fushar fushar force-pushed the admin-bar-site-icon branch 2 times, most recently from fd1099a to 646995d Compare May 9, 2026 07:40
@fushar fushar changed the title Admin bar: replace home dashicon with actua site icon if set Admin bar: replace home dashicon with actual site icon if set May 9, 2026
@fushar fushar changed the title Admin bar: replace home dashicon with actual site icon if set Admin bar: Replace home dashicon with actual site icon if set May 10, 2026
@fushar fushar force-pushed the admin-bar-site-icon branch from 646995d to 4c0c32f Compare May 10, 2026 12:15
@SergeyBiryukov

SergeyBiryukov commented May 10, 2026

Copy link
Copy Markdown
Member

Thanks for the PR! I'm less sure about changing the dashboard (odometer) icon, as it's specifically used to get to the dashboard, and it might be confusing if both icons look the same but lead to different places depending on the context.

It also seems that the ticket only suggested changing the home icon.

@lucasmendes-design

Copy link
Copy Markdown

Trac comment: https://core.trac.wordpress.org/ticket/65088#comment:6

The thing to notice is that this isn't a single link, it's a contextual entry point. Depending on where you are, the same node can mean "Visit Site" or open a dropdown to the Dashboard, Plugins, and Themes. So the real question isn't "which destination should the icon show," it's "what does this touchpoint represent."

A destination icon over-promises. The odometer says "this goes to the dashboard," and a house says "this goes home," but the node actually does several site-level things depending on context. That mismatch is the real source of confusion, the icon makes a promise the node doesn't always keep.

The site icon removes that. The one constant across every context here is the site itself. everything in this node is site-scoped. So "site icon + site name" sets the right expectation, "things you can do for this site", and the dropdown shows the specifics.

Let me know your thoughts @SergeyBiryukov

@fushar

fushar commented Jun 2, 2026

Copy link
Copy Markdown
Author

it might be confusing if both icons look the same but lead to different places depending on the context.

To me, the current behavior is actually more confusing: the icon changes depending on whether we're on wp-admin or site frontend. It's not immediately clear that the odometer icon actually signifies "the wp-admin Dashboard".

When we update the icon to be the site icon in both cases, it becomes a consistent, fixed-point context of "the current site". It provides an entry for site-specific dropdown actions such as going to wp-admin and going to the site frontend. It when clicked having different destination is just a byproduct of the different first action in the dropdown.

What do you think?

@fushar fushar changed the title Admin bar: Replace home dashicon with actual site icon if set Admin bar: Replace home/odometer dashicon with actual site icon if set Jun 3, 2026
@jasmussen

Copy link
Copy Markdown

I agree with this very much. The icon changing, but the label not, makes no sense to me, and it feels reasonable as a bandaid to at least unify them. But I would go a step further to suggest that the odometer changing like that reveals a fundamental underlying problem with how it's worked so far. To that end, I support what Lucas is proposing. A more bold alternative is to recast the WordPress icon to always take you to the dashboard (to your WordPress) and the site title always taking you to the frontend, which is what the topbar test plugin linked here does, if you'd like to try it.

Key with showing a site logo is also to ensure that, at a glance, you can always see which WordPress site you're on. If you are a power-user with multiple open WordPress tabs, unless you're careful, you might end up uploading private information to the wrong website. So we need clear delineation between sites, which the distinct-per-site site log would help do. I've seen this happen in support issues.

@lucasmendes-design

Copy link
Copy Markdown

it feels reasonable as a bandaid to at least unify them.

Let's proceed with this, and then we can circle back on different actions for the W logo and Site icon + title. I'm assuming there are some plugins that can use the site name dropdown as well, so I think we need to investigate that a bit more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants