Opened 18 months ago
Last modified 3 months ago
#19365 new enhancement
Pages listed under Most Recent and Search tabs of Page meta box in Appearance -> Menus should be filterable
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | Awaiting Review |
| Component: | Menus | Version: | 3.2.1 |
| Severity: | normal | Keywords: | has-patch |
| Cc: | jarrod@… |
Description
On the Appearance -> Menus administration page, pages listed under the Most Recent and Search tabs of the Page meta box on the left are not filterable. Since the pages listed under the View All tab of the said metabox are already filterable via the nav_menu_items_page hook, why not do the same for these 2 tabs?
I have a plugin that generates a number of pages that are accessible by registered users only, and I do not want administrators to be able to put these pages on the menu in any way.
Attachments (1)
Change History (7)
- Cc jarrod@… added
Add one line with an apply_filters for altering posts passed into the Most Recent tab, just like is already done for the View All tab.
- Keywords has-patch added
patch added. This takes care of the Most Recent tab but doesn't do a thing about Search. This is "good enough" for my needs and I think would be a logical addition to core since the same filtering happens for View All.
comment:3
SergeyBiryukov — 3 months ago
- Component changed from Administration to Menus
- Type changed from defect (bug) to enhancement
comment:4
in reply to:
↑ 2
;
follow-up:
↓ 5
DrewAPicture — 3 months ago
Replying to jpyper:
patch added. This takes care of the Most Recent tab but doesn't do a thing about Search. This is "good enough" for my needs and I think would be a logical addition to core since the same filtering happens for View All.
Please regenerate your patch from the WordPress install root.
Also, in staying consistent with coding standards and common variable hook naming-conventions, I suggest something more like this:
$most_recent = apply_filters( 'nav_menu_recent_{$post_type_name}_items', $most_recent );
Drew, I took your advice on the naming convention, but I don't know what you mean about regenerating from the WP install root. It took me embarrassingly long to figure out how to make the diff file in the first place...
comment:6
in reply to:
↑ 5
DrewAPicture — 3 months ago
Replying to jpyper:
Drew, I took your advice on the naming convention, but I don't know what you mean about regenerating from the WP install root. It took me embarrassingly long to figure out how to make the diff file in the first place...
If you look at 19365.diff, notice the path in bold at the top: /Users/jarrodpyper/Downloads/wordpress/wp-admin/includes/
You want to be generating the patch/diff from the /wordpress/ directory instead.
If you need further help, check out Submitting a patch in the handbook or visit the #wordpress-contribute IRC channel on Freenode and somebody can give you more help.

I'm looking to do the same thing and wondered why those other two tabs were not filterable. It would be a simple addition, 2 extra lines.
Correction: It would not be just 2 extra lines. To filter out the "Most Recent" tab is just a matter of adding the filter, but for the search you need to get into the js doing the ajax search that spits out the results. Not so simple there, at least not for me.
I don't think this counts as a bug though, probably more fitting as an Enhancement. I wonder what we can do to get this any attention. Did you find a way around this seeing as you opened the ticket 15 months ago?