Changeset 55867
- Timestamp:
- 05/30/2023 11:19:41 AM (21 months ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/nav-menu.php
r55349 r55867 821 821 */ 822 822 function wp_setup_nav_menu_item( $menu_item ) { 823 824 /** 825 * Short-circuit the wp_setup_nav_menu_item() output. 826 * 827 * Returning a non-null value from the filter will short-circuit wp_setup_nav_menu_item(), 828 * and return that value. 829 * 830 * @param object|null $modified_menu_item Modified menu item. Default null. 831 * @param object $menu_item The menu item to modify. 832 */ 833 $pre_menu_item = apply_filters( 'pre_wp_setup_nav_menu_item', null, $menu_item ); 834 835 if ( null !== $pre_menu_item ) { 836 return $pre_menu_item; 837 } 838 823 839 if ( isset( $menu_item->post_type ) ) { 824 840 if ( 'nav_menu_item' === $menu_item->post_type ) { -
trunk/tests/phpunit/tests/post/nav-menu.php
r55671 r55867 1217 1217 ) 1218 1218 ); 1219 $post = get_post( $menu_item_id ); 1219 1220 $post = get_post( $menu_item_id ); 1220 1221 $this->assertEqualsWithDelta( strtotime( gmdate( 'Y-m-d H:i:s' ) ), strtotime( $post->post_date ), 2, 'The dates should be equal' ); 1221 1222 … … 1231 1232 ) 1232 1233 ); 1233 $post = get_post( $menu_item_id ); 1234 1235 $post = get_post( $menu_item_id ); 1234 1236 $this->assertSame( get_date_from_gmt( $post_date_gmt ), $post->post_date ); 1235 1237 … … 1245 1247 ) 1246 1248 ); 1247 $post = get_post( $menu_item_id ); 1249 1250 $post = get_post( $menu_item_id ); 1248 1251 $this->assertSame( '1970-01-01 00:00:00', $post->post_date ); 1249 1252 … … 1259 1262 ) 1260 1263 ); 1261 $post = get_post( $menu_item_id ); 1264 1265 $post = get_post( $menu_item_id ); 1262 1266 $this->assertSame( $post_date, $post->post_date ); 1263 1267 … … 1274 1278 ) 1275 1279 ); 1276 $post = get_post( $menu_item_id ); 1280 1281 $post = get_post( $menu_item_id ); 1277 1282 $this->assertSame( $post_date, $post->post_date ); 1278 1283 … … 1289 1294 ) 1290 1295 ); 1291 $post = get_post( $menu_item_id ); 1296 1297 $post = get_post( $menu_item_id ); 1292 1298 $this->assertSame( $post_date, $post->post_date ); 1293 1299 … … 1303 1309 ) 1304 1310 ); 1305 $post = get_post( $menu_item_id ); 1311 1312 $post = get_post( $menu_item_id ); 1306 1313 $this->assertEqualsWithDelta( strtotime( gmdate( 'Y-m-d H:i:s' ) ), strtotime( $post->post_date ), 2, 'The dates should be equal' ); 1307 1314 … … 1318 1325 ) 1319 1326 ); 1320 $post = get_post( $menu_item_id ); 1327 1328 $post = get_post( $menu_item_id ); 1321 1329 $this->assertEqualsWithDelta( strtotime( gmdate( 'Y-m-d H:i:s' ) ), strtotime( $post->post_date ), 2, 'The dates should be equal' ); 1322 1330 … … 1333 1341 ) 1334 1342 ); 1335 $post = get_post( $menu_item_id ); 1343 1344 $post = get_post( $menu_item_id ); 1336 1345 $this->assertEqualsWithDelta( strtotime( gmdate( 'Y-m-d H:i:s' ) ), strtotime( $post->post_date ), 2, 'The dates should be equal' ); 1337 1346 } 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 1338 1375 }
Note: See TracChangeset
for help on using the changeset viewer.