Make WordPress Core

Changeset 55868

Timestamp:
05/30/2023 02:11:46 PM (14 months ago)
Author:
SergeyBiryukov
Message:

Docs: Add a @since tag for the pre_wp_setup_nav_menu_item filter.

Includes moving the unit test next to the other wp_setup_nav_menu_item() tests and using the MockAction class to confirm that the filter runs.

Follow-up to [55867].

Props TobiasBg.
Fixes #56577.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/nav-menu.php

    r55867 r55868  
    823823
    824824    /**
    825      * Short-circuit the wp_setup_nav_menu_item() output.
     825     * hort-circuit the wp_setup_nav_menu_item() output.
    826826     *
    827827     * Returning a non-null value from the filter will short-circuit wp_setup_nav_menu_item(),
    828      * and return that value.
     828     * returning that value instead.
     829     *
     830     * @since 6.3.0
    829831     *
    830832     * @param object|null $modified_menu_item Modified menu item. Default null.
  • trunk/tests/phpunit/tests/post/nav-menu.php

    r55867 r55868  
    593593
    594594    /**
     595
     596
     597
     598
     599
     600
     601
     602
     603
     604
     605
     606
     607
     608
     609
     610
     611
     612
     613
     614
     615
     616
     617
     618
     619
    595620     * @ticket 35206
    596621     */
     
    13451370        $this->assertEqualsWithDelta( strtotime( gmdate( 'Y-m-d H:i:s' ) ), strtotime( $post->post_date ), 2, 'The dates should be equal' );
    13461371    }
    1347 
    1348     /**
    1349      * @ticket 56577
    1350      */
    1351     public function test_nav_menu_item_short_circuit_filter() {
    1352         // Create a nav menu item.
    1353         $menu_item_args = array(
    1354             'menu-item-type'   => 'custom',
    1355             'menu-item-title'  => 'Wordpress.org',
    1356             'menu-item-url'    => 'http://wordpress.org',
    1357             'menu-item-status' => 'publish',
    1358         );
    1359 
    1360         $custom_item_id = wp_update_nav_menu_item( 0, 0, $menu_item_args );
    1361 
    1362         $pre_setup_callback = function() {
    1363             return '--empty nav menu item--';
    1364         };
    1365 
    1366         add_filter( 'pre_wp_setup_nav_menu_item', $pre_setup_callback );
    1367 
    1368         // Confirm the short-circuit.
    1369         $custom_item = wp_setup_nav_menu_item( get_post( $custom_item_id ) );
    1370         $this->assertSame( '--empty nav menu item--', $custom_item );
    1371 
    1372         remove_filter( 'pre_wp_setup_nav_menu_item', $pre_setup_callback );
    1373     }
    1374 
    13751372}
Note: See TracChangeset for help on using the changeset viewer.