Fix hiding playlist buttons from Add Media modal dialog #2461
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.
How to reproduce
On a fresh installation of WordPress 5.9.2 with Classic Editor plugin enabled, add the following lines to the default theme's
functions.php
:Then go to
/wp-admin/post-new.php
and click the Add Media button.These filters are supposed to allow hiding the Create Audio Playlist and Create Video Playlist buttons, which is not the case. The buttons are still visible in the Add Media modal dialog.
Workarounds include filtering
media_view_strings
instead, or enqueing additional styles to hide the buttons.The discussion at Ticket 43009 focuses on the behavior after uploading an audio/video file rather than the initial state, hence the new ticket.
Reason
✅ PHP: wp_enqueue_media function sets
attachmentCounts
according to the filter results.✅ JavaScript:
menuItemVisibility
function is called, which addshidden
class to the elements.❌ CSS: In
media-views.css
,.media-menu .media-menu-item
selector wins over.media-frame .hidden
, setting the elements'display
property toblock
instead ofnone
.Proposed fix
Since there are similar rules of higher specificity (e.g.
.attachments-browser .uploader-inline.hidden
,.media-embed .setting input.hidden
) in the same CSS file, I thought adding the following rule would be appropriate:Trac ticket: https://core.trac.wordpress.org/ticket/55465
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.