[wp-trac] [WordPress Trac] #54684: Add ability to filter blocks in WP_Block_List

WordPress Trac noreply at wordpress.org
Mon Jan 3 17:44:17 UTC 2022


#54684: Add ability to filter blocks in WP_Block_List
-------------------------+-----------------------------
 Reporter:  afragen      |       Owner:  (none)
     Type:  enhancement  |      Status:  new
 Priority:  normal       |   Milestone:  5.9
Component:  Menus        |     Version:  5.5
 Severity:  normal       |  Resolution:
 Keywords:  has-patch    |     Focuses:  administration
-------------------------+-----------------------------
Changes (by hellofromTonya):

 * type:  defect (bug) => enhancement


Comment:

 Replying to [comment:6 afragen]:
 > There doesn't seem to be a equivalent filter in the navigation block as
 `wp_nav_menu_items`.

 Looking at the code in `render_block_core_navigation()` within
 `blocks/navigation.php`
 ([https://github.com/WordPress/gutenberg/blob/61fcce30d9b39ee22f30e4dbfc86f550f0bb961c/packages
 /block-library/src/navigation/index.php#L360 here in Gutenberg] and
 [https://core.trac.wordpress.org/browser/trunk/src/wp-
 includes/blocks/navigation.php#L360 here in Core]), `WP_Block_List()` is
 invoked 3 times.

 @afragen if the goal is to gain access to the nav menu blocks, then
 wouldn't that goal be better served at the end of the
 `render_block_core_navigation()` function. Why? To get access to all of
 the nav blocks after processing and just before rendering?

 Else, the filter in `WP_Block_List::__construct()` will run each time its
 instantiated, whether it's a nav block or not. That adds time and memory,
 i.e. additional performance hits.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/54684#comment:13>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list