Navigation: Fix current-menu-item
class logic
#42849
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What?
This PR ensures that we are comparing the menu item
id
as an integer againstget_the_ID()
, which is also an integer.Why?
I noticed that the
current-menu-item
class was no longer being added to the current menu item element in the navigation link block. We need this class to identify the current menu item on the front end (e.g. for styling).How?
It looks like we were previously comparing
get_the_ID()
to the menu item's attributeid
using a triple===
, which also compares the data type. As the menu itemid
is a string, comparing these two values would never be true. By adding(int)
to the menu item's$attribute['id']
, we can successfully compare the type as well as the value.Testing Instructions
current-menu-item
class is added to the<li>
of the current page in the navigation block markupScreenshots or screencast
Before:
After: